当人们在我的页面上双击大型DIV时,我会抓住双击并在大型DIV中创建一个小的彩色DIV。我用
结束我的双击处理程序 e.preventDefault();
return false;
阻止浏览器双击。
这在Firefox中运行良好。
但是在Chrome中,首先双击大DIV,在页面加载后将大DIV变为蓝色,然后继续创建小彩色框。
出于某种原因,Chrome在我做之前首次双击并认为我想要选择大型DIV,因此它将其变为蓝色。 (蓝色与Chrome提供的所有内容相同。双击Google搜索页面上的内容即可查看。)
一旦我点击大DIV取消选择它,蓝色就会消失,双击大DIV不再转到Chrome。
任何人都可以解释Chrome在我之前是如何进行首次双击的,以及我如何防止这种情况发生?
感谢您的帮助。我们
答案 0 :(得分:3)
您可以添加CSS以防止在支持的浏览器中双击选择:
div#element_to_target {
-webkit-user-select : none;
-moz-user-select : none;
-khtml-user-select : none;
-ms-user-select : none;
}
或在事件处理程序中执行
$('div').on('dblclick', function(e) {
// do stuff
if (window.getSelection) {
window.getSelection().removeAllRanges();
} else if (document.selection) {
document.selection.empty();
}
});