好的,所以我想点击一个项目,然后让该项目变得无法点击,并且不执行附加到它的jQuery。我目前正在使用此
$(clicked_id).prop('disabled', true);
然而,这不起作用。
非常感谢任何帮助!
编辑:
这是HTML:
<img src="imgs/card.jpg" id="card0" name="card0" onclick="getCard(this.id); ">
答案 0 :(得分:3)
disabled
仅用于禁用输入元素(并且它不会更改对象的可点击性 - 只是不执行默认动画)。
要使其从对象中删除click事件,请使用.off()
$(clicked_id).off('click')
但这只有在通过jquery
添加onclick时才有效相反,您可以这样做:
$(clicked_id)[0].onclick=false
答案 1 :(得分:0)
由于您的处理程序被指定为属性,因此您可以使该事件处理程序的属性无效。
document.getElementById(clicked_id).onclick = null;
确保您的ID上没有前导#
。
或者我们这样的jQuery:
$(clicked_id).prop("onclick", null);
或者您可以传递元素本身而不是传递ID。
<img src="imgs/card.jpg" id="card0" name="card0" onclick="getCard(this); ">
然后更改您的函数,使其接收元素而不是元素的ID。完成后,您可以直接访问该元素。
elem.onclick = null;
答案 2 :(得分:0)
还有另一种解决方案:
function getCard(objId){
if( !($('#'+objId).attr('used') == '1') )
{
alert('Click is working for '+objId);
// do something
$('#'+objId).attr('used', '1');
}
}
这是一个有效的例子: