我有一个令人费解的 Javascript 问题,我列出了一系列包含选择控件的超链接。 如果您单击选择控件,则不应重定向到 Google,如果您直接单击其余可点击区域,则必须重定向到 Google 并且能够保持选择输入行为(选择索引更改) 这适用于 Internet Explorer 和 Google Chrome,但不适用于 Firefox,有什么问题吗?如何在不更改标记的情况下修复?
HTML
<a href='http://www.google.com/' target='_blank'>
<div class='pholder'>
<select class='test'>
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
</select>
</div>
</a>
CSS
.pholder{
border:1px solid #333;
height:100px;
}
.test{
margin-top:50px;
margin-left:50px;
}
Javascript
var $cmbs = $('.test');
$cmbs.click(function (e) {
e.preventDefault();
console.log('click');
});
$cmbs.change(function (e) {
e.preventDefault();
console.log('change');
});
最佳答案
正如评论中提到的,现在 anchor 标记中允许 block 级内容(根据 HTML5 规范);然而,interactive content不允许。这包括 input
和 select
元素。
The specs on a
(请注意“内容模型”部分)。
关于javascript - 选择超链接内的输入跨浏览器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31057975/