使用jQuery使元素无法选择的最佳方法是什么?
我知道您可以在HTML中使用onselectstart="return false;" ondragstart="return false;"
,但我不确定跨浏览器是如何兼容的。
我也看到有人制作了一个jQuery插件:http://plugins.jquery.com/project/Unselectable ..这样的插件是否必要?
是否有一种简单,兼容的方法可以使元素无法选择?
想要这样做的原因纯粹是美学。对于具有拖动或点击事件的网页,当事情被选中时,这不是很好。
答案 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>