2010-05-16 33 views
2

我想双击一个div,但现在它“选择”/突出显示一个单词。我该如何做到这一点,以免发生这种情况?我该如何做到这一点,当我双击一个div,它不会选择这个词?

我想:

$(this).hide().show() 

and 

$(this).blur() 

但它仍然凸显了字。

+0

为什么? – SLaks 2010-05-16 23:05:38

+0

因为我目前有一个附加到这个div的点击事件。但是,当人们意外双击时,我不想强​​调这个词。 – TIMEX 2010-05-16 23:06:53

+0

然后你可能想要防止元素被选中。 – SLaks 2010-05-16 23:08:47

回答

4

您可以防止一个元件在大多数浏览器被选中是这样的:

elem.onselectstart = function() { return false; }; 
elem.unselectable = "on"; 
$(elem).css({ "-moz-user-select": 'none', "-webkit-user-select": 'none' }); 

你可以尝试这样做,在click事件,并撤销其一个或两个秒钟后用setTimeout

+0

不应该selectstart在这里做一个'e.preventDefault'? – kibibu 2010-05-16 23:09:35

+0

@kibibu:为什么要麻烦? – SLaks 2010-05-16 23:10:21

+1

kibibu:编号'return false'是您通过“DOM0”方法分配的事件处理程序所需的全部内容,即将事件处理函数分配给相应的属性。这适用于所有浏览器。事件的'preventDefault()'只对通过'addEventListener()'分配的事件处理程序起作用。 – 2010-05-16 23:54:00

相关问题