我可以在点击html按钮时设置操作。但我只需要在第一次点击时设置操作。有办法做到这一点吗?按钮是单选形式的。可能是一些javascript?
重要的是,单选按钮仍然可能被更改。但行动只能做一次。
不起作用
function myfunction(i){
oForm = document.forms["myform"];
if(oForm.elements["field"+i].checked)
alert("action done earlier");
else
action
}
最干净的解决方案可能是使用removeEventListener来…删除事件侦听器:
var myButton = document.getElementById('someId');
var handler = function(){
// doSomething
myButton.removeEventListener('click',handler);
}
myButton.addEventListener('click', handler);
(为了使其更干净,您可以将其封装在IIFE中,如下例所示)
演示
查看jQuery.one()事件处理程序。
$("#my-button").one('click', function() {
/* Do something at most once */
});
如果您首选jQuery,则可以使用jQuery解除绑定
$("button").click(function(){
/* some content */
$(this).unbind('click');
});
Html
<button> Some content </button>
单击按钮后,您可以使用属性禁用按钮,添加
disabled="disabled"
点击按钮?
为了解决这个问题,我使用了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/