动态更改onClick函数参数

时间:2016-06-09 13:57:23

标签: javascript jquery

我有这样的事情:

<button id="button1" onClick="someFunc('arg1','arg2')"> </button> 

在JavaScript中是否可以将函数someFunc的参数更改为如下所示:

<button id="button1" onClick="someFunc('somethingDiff1','somethingDiff2')"> </button> 

4 个答案:

答案 0 :(得分:4)

试试这个

如果你想在jquery中试试这个

&#13;
&#13;
$(document).ready(function(){
   var clickfun = $("#button1").attr("onClick");
   var funname = clickfun.substring(0,clickfun.indexOf("("));       
   $("#button1").attr("onclick",funname+"('somethingDiff1',"+"'somethingDiff2')");
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="button1" onClick="someFunc('arg1','arg2')">Button1</button> 
&#13;
&#13;
&#13;

如果你想在JavaScript中试试这个: -

<script>
  window.onload=function(){
  var clickfun = document.getElementById("button1").getAttribute("onclick");
  var funname = clickfun.substring(0,clickfun.indexOf("("));       
  document.getElementById("button1").setAttribute("onclick",funname+"('somethingDiff1',"+"'somethingDiff2')");    
};
</script>

希望这会对你有帮助。

答案 1 :(得分:3)

这也可以通过写一些类似的东西来完成:

document.getElementById('button1').setAttribute('onclick','thiswhatyouwanttohave');

但是文档必须完全加载,或者至少必须存在按钮才能访问onclick属性。

答案 2 :(得分:2)

根据您的要求,我们可以更改下面的参数:检查这个工作小提琴。

https://jsfiddle.net/TaEgQ/42/

button.setAttribute( "onClick", "someFunc('new1','new2')" );

答案 3 :(得分:1)

你可以进入你的script.js并输入类似的内容:

var value = 10

$("#button1").click(function() {

 if(value < 5)
  someFunc("arg1");
 else someFunc("arg2);

});