给定以下 HTML:
<div contenteditable="true">Some text</div>
还有一些用JQuery检测点击事件的JS:
$("div").click(function() {
alert('click!');
});
如果您在 div 中选择文本的一部分,Opera 不会抛出点击事件(在 Linux 上用 Opera 11.61 和在 Windows 上用 11.62 测试过) .双击单词以部分标记它确实有效。
在 IE7-9、Firefox、Chrome 和 Safari 中 抛出该事件。有一个稍微修改的 JSFiddle here .
这是预期的行为、JQuery 错误、Opera 错误还是其他原因?
最佳答案
哪种行为是“正确的”当然是一个有趣的问题。我的看法:我个人认为 Opera 的行为更有意义,因为用户在这里打算做的显然不是“点击”某物,而是“选择”某物。
另一方面,我也认为Opera应该改变它以兼容其他浏览器(除非我们能让其他浏览器匹配Opera)。兼容性非常非常重要。所以,与我的 Opera 员工交谈:我认为我们是正确的,我认为我们应该解决这个问题 :-p
关于jquery - 当您部分标记文本时,为什么 Opera 不抛出点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10137897/