jQuery 点击事件在 Chrome 中只有在移动鼠标后才能正常工作

7

我知道有更好的切换样式的方法,但请耐心等待...

在Chrome浏览器中似乎存在一个小bug(但Firefox没有),即“点击”事件在事件后鼠标必须移动才能执行。

$(function(){
    $('#selectsomething a[rel$=".css"]').click(function(e){
        e.preventDefault();
        $('link.skeletor').attr('href', $(this).attr('rel')); 
    });
});

如果您点击链接但不移动鼠标,则不会发生任何事情... 您认为这可能是Chrome的一个合法错误,还是我做错了什么?


8
我不理解为什么这个被点了五个赞。我也无法重现您的问题。您能创建一个堆栈片段或jsFiddle来展示问题吗?这是我的jsFiddle,它在Chrome中正常工作,无需移动鼠标http://jsfiddle.net/j08691/e6k2zzsc/ - j08691
1
顺便提一下,包含以 .css 结尾的值的 rel 属性的锚标签是无效的。根据 MDN 的说法:“...此属性指定目标对象与链接对象之间的关系。该值是一个逗号分隔的链接类型值列表...” 可以在这里找到有效的链接类型列表。 - War10ck
1个回答

0

我不知道为什么这个不起作用(除了奇怪的rel=""使用)。

如果您尝试使用缩小版或具有多个js实例的版本,则问题可能是使用.click而不是.on('click', function(e))

要查看我所说的内容的示例,请查看我的Fiddle。

有关两个单击函数之间差异的完整说明,请查看this overflow


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接