使用jQuery使元素无法选择

时间:2010-04-30 13:00:43

标签: jquery html

使用jQuery使元素无法选择的最佳方法是什么?

我知道您可以在HTML中使用onselectstart="return false;" ondragstart="return false;",但我不确定跨浏览器是如何兼容的。

我也看到有人制作了一个jQuery插件:http://plugins.jquery.com/project/Unselectable ..这样的插件是否必要?

是否有一种简单,兼容的方法可以使元素无法选择?

想要这样做的原因纯粹是美学。对于具有拖动或点击事件的网页,当事情被选中时,这不是很好。

4 个答案:

答案 0 :(得分:5)

$('.noselect').live('selectstart dragstart', function(evt){ evt.preventDefault(); return false; });

只需将事件绑定到实时,然后返回false,或者阻止默认。

答案 1 :(得分:1)

我认为jQuery将抽象浏览器差异&所以它会帮助你使HTML元素无法选择。

话虽如此,请注意客户可以决定关闭javascript,在这种情况下你需要确保他仍然不能做任何会造成伤害的事情......

HTH。

答案 2 :(得分:0)

我相信这是一个更好的答案。

$('*[data-noselect="true"]').focus(
    function () {
        $(this).blur();
    });

$('*[data-noselect="true"] *').focus(
    function () {
        $(this).blur();
    });

然后您只需向任何元素添加data-noselect="true"

答案 3 :(得分:0)

如果您使用JqueryUI,则可以将class="ui-state-default"设置为您不想选择的div。

<div class="ui-state-default"></div>