我正在尝试做一个我需要更改按钮属性的项目。我没有你的代码,但我仍然需要帮助。有没有办法可以更改已经存在的按钮,以便onclick属性运行与以前不同的功能?提前谢谢。
答案 0 :(得分:0)
使用.onclick = function_name;
演示:
document.getElementById('myButton').onclick = fun2;
function fun1() {
alert('I am from Function 1');
}
function fun2() {
alert('I am from Function 2');
}
<button id='myButton' onclick='fun1()'>Click me</button>
答案 1 :(得分:0)
是的,你可以。要记住的只有一件事:
一旦确定了该事件,只需将其与JQuery的.attr()
函数绑定即可更改任何属性。
了解详情:http://api.jquery.com/attr/
Javascript活动:https://developer.mozilla.org/en-US/docs/Web/API/Event
答案 2 :(得分:0)
使用jQuery:
$("mybtn").click(function(){
$("#mybtn").attr({
"onclick" : "anotherFunction()",
});
});
答案 3 :(得分:0)
是的,这是可能的。检查这个小提琴:https://jsfiddle.net/gerardofurtado/ga3k7ssp/1/
我将一个变量设置为0,并将此功能设置为按钮1:
bt1.onclick = function(){
i++;
myPar.innerHTML = i;
};
它会增加变量并显示数字。
但是,点击按钮2,它会改变按钮1的功能:
bt1.onclick = function(){
i--;
myPar.innerHTML = i;
};
现在按钮1减少变量。
这个小提琴类似,但使用单选按钮,表明您可以设置按钮1的原始功能:https://jsfiddle.net/gerardofurtado/8gbLq355/1/
答案 4 :(得分:0)
我觉得到目前为止所有的答案都错过了重点。由于您没有任何代码示例,我猜测您很难推断出每个人都在说什么。
因此,一个按钮,当单击时,将更改为另一个方法,再次单击时,将更改回来。为简单起见,我使用onclick
属性,但正如其他人所示,使用JavaScript .onclick
或addEventListener
是更好的选择。
function function1(e) {
// Show where we're at
alert("function1 is running");
// Get which button was clicked from the event that is passed in, and set its onclick event
e.currentTarget.setAttribute("onclick", "function2(event)");
}
function function2(e) {
// Show where we're at
alert("function2 is running");
// Get which button was clicked from the event that is passed in, and set its onclick event
e.currentTarget.setAttribute("onclick", "function1(event)");
}
&#13;
<button onclick="function1(event)">Click Me!</button>
&#13;
您当然可以更改function1
和function2
所做的事情,并添加更多更改(例如功能3和4),添加更改时间的逻辑,等等。