我有这个问题,我需要向特定的html元素添加onmousedown
和onselectstart
事件。我已经尝试过了,但是因为它们不是属性,所以这是行不通的。
$(".question, p, b, span, img").each(function(){
$(this).addClass("disableSelection");
$(this).attr("onmousedown", "return false;");
$(this).attr('onselectstart', 'return false;');
});
有任何想法吗?
例子
<p onmousedown="return false;" onselectstart="return false;">Adding events</p>
您应该使用JS添加事件处理程序,而不是使用过时的on*
事件属性。也无需遍历所有元素。试试这个:
$(".question, p, b, span, img")
.addClass('disableSelection');
.on('mousedown selectstart', function() {
return false;
});
请注意,通过return false
在事件处理程序中使用,您还将停止传播。如果有问题,可以使用preventDefault()
传递给事件处理程序的事件方法。
另外,如果要删除已经附加到这些事件的任何事件处理程序,则最好使用off()
方法来提供服务,例如.off('mousedown selectstart');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句