1

質問のように、1つの回答をクリックすると、それが良い回答かどうかを確認し、onclickイベントを非アクティブ化します.他のボタンをクリックして質問を変更し、新しい回答を追加した後、クリックを再アクティブ化したいのですがjavascriptでこれを行う方法がわかりません:/

ここでより良い説明のためのコード x):

<ol id="answerList" type="A">
      <img class="imgLine" src="" id="answer-a-img" /><li onclick="clickLine(this);" id="answer-a" ></li>
      <img class="imgLine" src="" id="answer-b-img" /><li onclick="clickLine(this);" id="answer-b" ></li>
      <img class="imgLine" src="" id="answer-c-img" /><li onclick="clickLine(this);" id="answer-c" ></li>
      <img class="imgLine" src="" id="answer-d-img" /><li onclick="clickLine(this);" id="answer-d" ></li>
</ol>

ここに答えがあり、onclickイベントが機能しており、clickLine関数を呼び出します

これを行うことでonclickイベントを無効にしました:(クリーンではないことは知っていますが、他の方法は見ませんでした:/)

document.getElementById('answer-a').onclick = "";
document.getElementById('answer-b').onclick = "";
document.getElementById('answer-c').onclick = "";
document.getElementById('answer-d').onclick = "";

しかし、今、新しいデータを取得したときに、onclickevent を再アクティブ化することに成功しませんでした。これを試しました:

document.getElementById('answer-a').onclick = "clickLine(this);";
document.getElementById('answer-b').onclick = "clickLine(this);";
document.getElementById('answer-c').onclick = "clickLine(this);";
document.getElementById('answer-d').onclick = "clickLine(this);";

しかし、うまくいきませんでした:/

ありがとう !

ps: 解決策があれば Jquery を使用できます ^^

4

2 に答える 2

1

何かのようなもの:

    $(".imgLine").click(function(event)
    {
         $('.imgLine').unbind();
         event.preventDefault();
    });

    $("a#activate").click(function(event)
    {
        $('.imgLine').bind();        
        event.preventDefault();
    });

#activate は、次の質問ボタンを示します。

于 2012-05-31T09:18:33.033 に答える
0
document.getElementById('answer-a').onclick = "javascript:clickLine(this);";
document.getElementById('answer-b').onclick = "javascript:clickLine(this);";
document.getElementById('answer-c').onclick = "javascript:clickLine(this);";
document.getElementById('answer-d').onclick = "javascript:clickLine(this);";

このように実行してみてください。まず、javascript:clickLine() 関数があるかどうかを確認します。

于 2012-05-31T09:18:14.630 に答える