为什么Opera在部分标记文本时会抛出单击事件?

kvi*_*aug 8 jquery html5 opera jquery-click-event

给出以下HTML:

<div contenteditable="true">Some text</div>
Run Code Online (Sandbox Code Playgroud)

还有一些用JQuery检测click事件的JS:

$("div").click(function() {
   alert('click!');
});
Run Code Online (Sandbox Code Playgroud)

如果您选择div中文本的一部分,Opera 将不会抛出click事件(在Linux上使用Opera 11.61和在Windows上使用11.62进行测试).双击一个单词以对其进行部分标记确实有效.

本次活动在IE7-9,火狐,Chrome和Safari抛出.这里有一个稍微修改过的JSFiddle.

这是预期的行为,JQuery错误,Opera错误还是其他什么?

hal*_*ors 2

哪种行为是“正确的”当然是一个有趣的问题。我的看法:我个人认为 Opera 的行为更有意义,因为用户在这里打算做的显然不是“单击”某些内容,而是“选择”某些内容。

另一方面,我也认为Opera应该改变它以兼容其他浏览器(除非我们能让其他浏览器与Opera匹配)。兼容性非常非常重要。所以,以我的 Opera 员工的身份来说:我认为我们是正确的,我认为我们应该解决这个问题:-p