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();
    });

其中 a#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 回答