2
    <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>

上記のコードでは、ifステートメントが満たされたときに画像を別の画像に置き換えることができます。しかし、私の問題は、画像が置き換えられたときに、クリック時のイベントが無効にならないことです。私の質問は、画像が置き換えられたときに、onclickイベントを無効にするにはどうすればよいonclick="return plusbutton();ですか?

4

3 に答える 3

4

plusbutton関数自体から無効にします。まず、次のように要素を関数に渡します。

<a onclick="return plusbutton(this);">

次に、関数で無効にします。

function plusbutton(element) {
    element.onclick = '';
    /* then do whatever plusbutton did before */
}

ただし、jQuery を使用しているため、ハンドラーを使用することをお勧めします。したがって、次のように、リンクに ID を指定しますが、onclick は指定しません。

<a id="plusbutton" href="#">

jQuery.one()を使用して、一度だけ発生するクリック ハンドラーをバインドします。

$(document).ready(function() {
    $('#plusbutton').one('click', function(ev) {
        plusbutton();
        return false;
    });
});
于 2012-11-25T13:07:05.077 に答える
1
event.preventDefault(); 

要素が通常の機能を続行するのを防ぎます。

于 2012-11-25T13:07:57.523 に答える
0

このコードを試してください:

$('#addQuestionBtn').bind("click",function(){
    $('#addQuestionBtn').unbind("click");   
    insertQuestion(document.form);
});

そしてあなたのhtml:

<input id="addQuestionBtn" name="addQuestion" type="button" value="Add Question" />
于 2012-11-25T13:07:34.867 に答える