Javascript 如何禁用onclick事件?
您可以从Javascript 如何禁用onclick事件?,javascript,jquery,html,Javascript,Jquery,Html,您可以从plusbutton功能本身中禁用。首先,将元素传递到函数中,如下所示: <form id="QandA" action="<?php echo htmlentities($action); ?>" method="post"> <table id="question"> <tr> <td colspan="2"> <a onclick="return plusbutton();
plusbutton
功能本身中禁用。首先,将元素传递到函数中,如下所示:
<form id="QandA" action="<?php echo htmlentities($action); ?>" method="post">
<table id="question">
<tr>
<td colspan="2">
<a onclick="return plusbutton();">
<img src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage" id="mainPlusbutton" name="plusbuttonrow"/>
</a>
<span id="plussignmsg">(Click Plus Sign to look up Previous Questions)</span>
</td>
</tr>
</table>
</form>
但是由于您使用的是jQuery,所以最好使用处理程序。因此,给链接一个id,而不是onclick,如下所示:
function plusbutton(element) {
element.onclick = '';
/* then do whatever plusbutton did before */
}
请尝试以下代码:
$(document).ready(function() {
$('#plusbutton').one('click', function(ev) {
plusbutton();
return false;
});
});
以及您的html:
$('#addQuestionBtn').bind("click",function(){
$('#addQuestionBtn').unbind("click");
insertQuestion(document.form);
});
将阻止元素继续其正常功能。
此.onclick=“
是您想要的吗?您正在将事件附加到一个不同于OP的元素。另外,最好只使用jQuery.one而不是绑定/解除绑定。在本例中,jQuery.one是最佳解决方案。。谢谢你的评论。我通常不使用。但在这种情况下,一个是最好的解决方案+1在您的回答@BenLeeHi时,我更新了相关代码,我尝试了您的jquery理论,但它没有禁用单击。请查看更新后的代码,以便您有希望看到错误所在。好吧,您还没有说javascript代码是在哪里定义的。很可能必须将单击处理程序放入document.ready块中。我更新了我的答案来说明我的意思。另外,我刚刚注意到你有一个$('.plusimage')。live('click',…
处理程序。为什么?删除它,这将使它永远不会被删除。此外,我注意到您的plusbutton方法包含一个参数加上_id
——您没有解释它的用途,您的原始代码也没有使用它。我需要$('.plusimage')。live('click',…
函数,我认为使用非jquery方式更好,因为我不希望#出现在url的末尾,如果使用非jquery方式,那么我需要做什么才能让它以这种方式工作?
$(document).ready(function() {
$('#plusbutton').one('click', function(ev) {
plusbutton();
return false;
});
});
$('#addQuestionBtn').bind("click",function(){
$('#addQuestionBtn').unbind("click");
insertQuestion(document.form);
});
<input id="addQuestionBtn" name="addQuestion" type="button" value="Add Question" />
event.preventDefault();