jQuery单击事件仅在Chrome中移动鼠标后才起作用
Posted
技术标签:
【中文标题】jQuery单击事件仅在Chrome中移动鼠标后才起作用【英文标题】:jQuery click event only working after moving the mouse in Chrome 【发布时间】:2015-07-31 18:42:45 【问题描述】:所以我知道有更好的方式来切换风格,但请耐心等待......
Chrome(但不是 Firefox)上似乎发生了一个小错误,其中“点击”事件在事件发生后鼠标移动之前不会执行任何操作。
$(function()
$('#selectsomething a[rel$=".css"]').click(function(e)
e.preventDefault();
$('link.skeletor').attr('href', $(this).attr('rel'));
);
);
因此,如果您单击链接但不移动鼠标,则不会发生任何事情...您认为这可能是 Chrome 的合法错误还是我做错了什么?
【问题讨论】:
我无法理解为什么这得到了 5 票。我也无法重现您的问题。您可以创建一个显示问题的堆栈 sn-p 或 jsFiddle 吗?这是我在 Chrome 中运行良好而无需移动鼠标jsfiddle.net/j08691/e6k2zzsc 附带说明,具有rel
属性的锚标记包含以.css
结尾的值是无效的。根据MDN:“...该属性指定目标对象与链接对象的关系。值是一个逗号分隔的链接类型值列表...”可以找到有效的链接类型here。
【参考方案1】:
我不明白为什么这不起作用(除了奇怪的 rel="" 使用)。
如果您尝试使用带有多个 js 实例的缩小版或版本,问题可能是使用 .click
而不是 .on('click', function(e))
。
要查看我想说的示例,check out my Fiddle.
关于这两种点击功能的区别的完整解释请查看this overflow
【讨论】:
以上是关于jQuery单击事件仅在Chrome中移动鼠标后才起作用的主要内容,如果未能解决你的问题,请参考以下文章
JQuery:如何仅在完成调整大小后才调用 RESIZE 事件?
Chrome浏览器下JQuery实现鼠标左键按下移动,鼠标左键抬起停止移动功能的问题