我可以点击html按钮设置操作。但是我需要在FIRST点击时设置动作。有没有办法做到这一点?按钮是无线电形式。有些javascript可能吗?
重要的是 - 单选按钮仍然可能会被更改。但行动必须只进行一次。
这不起作用
function myfunction(i){
oForm = document.forms["myform"];
if(oForm.elements["field"+i].checked)
alert("action done earlier");
else
action
}
答案 0 :(得分:3)
最干净的解决方案可能是使用removeEventListener来删除事件监听器:
var myButton = document.getElementById('someId');
var handler = function(){
// doSomething
myButton.removeEventListener('click',handler);
}
myButton.addEventListener('click', handler);
(为了使它更清洁,你可以将它包装在IIFE中,如下例所示)
答案 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);
});