将参数传递给现有的onClick JS函数

时间:2014-03-13 13:34:08

标签: javascript jquery

非常基本的问题,但是如何将参数添加/填充到HTML元素的onClick函数?

<a onClick="someFunction()" id="testLink">Some function</a>

//PSEUDO CODE
var someFunctionParam = document.getElementById('testLink');
someFunctionParam.addParameter(someParam);

显然&#34; addParameter&#34;不是Javascript中的有效方法,任何人都可以指导如何操作吗?

2 个答案:

答案 0 :(得分:1)

在我看来,最好的方法是将JS重写为:

<a onclick="aNewFunction()" id="testLink">Some function</a>


function aNewFunction() {
  // Invoke your existing function here;
  someFunction();

  //PSEUDO CODE
  var someFunctionParam = document.getElementById('testLink');
  someFunctionParam.addParameter(someParam);
}

答案 1 :(得分:1)

我想到的最佳方式是

$(function () {
    var parameter='Joe Root';
    var functionName = $('#testLink').attr("onclick");
    $('#testLink').attr("onclick",
    functionName.replace('()', "('" + parameter + "')"));
    alert($('#testLink').attr("onclick"));
});

function someFunction(name) {
    alert("Hi " + name);
}

您可以看到,这有效http://jsfiddle.net/hXpSN/1/