javascript - 选择超链接内的输入跨浏览器问题

标签 javascript jquery html

我有一个令人费解的 Javascript 问题,我列出了一系列包含选择控件的超链接。 如果您单击选择控件,则不应重定向到 Google,如果您直接单击其余可点击区域,则必须重定向到 Google 并且能够保持选择输入行为(选择索引更改) 这适用于 Internet Explorer 和 Google Chrome,但不适用于 Firefox,有什么问题吗?如何在不更改标记的情况下修复?

JSFiddle

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不允许。这包括 inputselect 元素。

The specs on a (请注意“内容模型”部分)。

关于javascript - 选择超链接内的输入跨浏览器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31057975/

相关文章:

javascript - 从 Javascript 对象调用方法

html - perl doc/pdf/xls 到 HTML 转换器

javascript - react 按钮不显示

javascript - 响应式滚动的问题

javascript - 尝试反转 HTML/CSS 切换器的 JavaScript 触发器

javascript - 将字体存储到 cookie 并从 cookie 加载

jQuery Mobile 固定页脚与文本一起滚动一次然后在 iOS 应用程序中停止

html - 在转换完成之前,我的转换时间部分尚未过去

javascript - 视频从 Dropbox 上传到 vimeo 服务器

jquery - Bootstrap Accordion 触发器从内部打开/关闭