更改按钮上的属性

时间:2016-06-03 15:25:35

标签: javascript html

我正在尝试做一个我需要更改按钮属性的项目。我没有你的代码,但我仍然需要帮助。有没有办法可以更改已经存在的按钮,以便onclick属性运行与以前不同的功能?提前谢谢。

5 个答案:

答案 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 .onclickaddEventListener是更好的选择。

&#13;
&#13;
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;
&#13;
&#13;

您当然可以更改function1function2所做的事情,并添加更多更改(例如功能3和4),添加更改时间的逻辑,等等。