仅在第一次单击时才会执行Html按钮操作

时间:2013-08-07 13:23:50

标签: php html button onclick action

我可以点击html按钮设置操作。但是我需要在FIRST点击时设置动作。有没有办法做到这一点?按钮是无线电形式。有些javascript可能吗?

重要的是 - 单选按钮仍然可能会被更改。但行动必须只进行一次。

这不起作用

function myfunction(i){
oForm = document.forms["myform"];
if(oForm.elements["field"+i].checked)
    alert("action done earlier");
else
    action
}

5 个答案:

答案 0 :(得分:3)

最干净的解决方案可能是使用removeEventListener来删除事件监听器:

var myButton = document.getElementById('someId');
var handler = function(){
   // doSomething
   myButton.removeEventListener('click',handler);
}
myButton.addEventListener('click', handler);

(为了使它更清洁,你可以将它包装在IIFE中,如下例所示)

Demonstration

答案 1 :(得分:1)

查看jQuery .one()事件处理程序。

$("#my-button").one('click', function() {
    /* Do something at most once */
});

答案 2 :(得分:0)

如果您更喜欢jQuery,可以使用jQuery unbind

$("button").click(function(){
  /* some content */
  $(this).unbind('click');
});

HTML

<button> Some content </button>

答案 3 :(得分:0)

您可以使用属性在单击按钮后禁用该按钮,添加

disabled="disabled"
点击后按下

按钮?

答案 4 :(得分:0)

要解决这个问题,我使用了jQuery.on以及jQuery.off - 请参阅我在jsfiddle上的代码!

$(document).ready(function() {
    var button = $('#my-button');

    function onClick() {
        alert('clicked');
        button.off('click', onClick);
    };

    button.on('click', onClick);
});

http://jsfiddle.net/VxRyn/