如何在javascript中将变量函数传递给onclick事件?

如何在javascript中将变量函数传递给onclick事件?,javascript,html,function,variables,Javascript,Html,Function,Variables,我是javascript的新手。我不确定我在这里做错了什么。我想传入一个变量,它是锚定标记的onclick事件的函数。提前谢谢 var test = function(val1, val2) { alert("bla"); }; $.each( result, function (key, value){ var a = key; var b = key+value; var doSomething = function() { test (a, b)); $('#id')

我是javascript的新手。我不确定我在这里做错了什么。我想传入一个变量,它是锚定标记的onclick事件的函数。提前谢谢

    var test = function(val1, val2) { alert("bla"); };  

    $.each( result, function (key, value){ var a = key; var b = key+value; var doSomething = function() { test (a, b)); $('#id').bind("click", test); });
我需要动态创建锚定标记,并将多个变量传递给“onclick”事件。因此,我尝试在for循环中动态创建一个变量函数,并将其绑定到锚定标记上,您应该使用:

$(document).ready(function(){
    $("#myUL").click(function(){
         alert("hello");
    });
};
请尝试以下代码:

var test = function() { 
    alert("hello"); 
};  

$("#myUL").append("<li><a href='#' onclick=test()>test</a></li>"); 
var test=function(){
警惕(“你好”);
};  
$(“#myUL”)。追加(“
  • ”);

    你想要什么?

    你需要这样的东西:

    for (var i = 0; i < 5; i++) {
      $("button").eq(i).on("click", {value: i}, function(event) {
        var msgs = [
          "button = " + $(this).index(),
          "event.data.value = " + event.data.value,
          "i = " + i
        ];
        logDiv.append( msgs.join(", ") + "<br>" );
      });
    }
    
    for(变量i=0;i<5;i++){
    $(“按钮”).eq(i).on(“单击”{value:i},函数(事件){
    var msgs=[
    “button=“+$(this).index(),
    “event.data.value=“+event.data.value,
    “i=“+i
    ];
    logDiv.append(msgs.join(“,”+“
    ”); }); }

    jQuery站点:

    只需在字符串中写入
    onclick='test()'
    (没有连接)。好吧,但是您编写的方式很好。在这里检查一下,为了这个目的不必要地附加动态html不是一个好的做法。谢谢Alessandro。很抱歉,由于脚本中的一些错误,我无法正确地发布问题。@AlessandroMinoccheri-出于好奇。上面由marcus给出的代码在这里运行良好-请检查-那么为什么我们需要按照您给出的方式执行?@AlessandroMinoccheri-den为什么要这样做??为此目的附加html不是必需的,对吗?JQuery在这方面工作得很好。那么你给出的方式需要什么呢?问题不同,他把代码改成了他的问题,在编辑之前,它是一个append@bhuvinoh!那么太活()或On()事件是出路,对吗?在我看来,混合使用核心javascript和JQuery进行DOM操作不是一个好的做法。你说什么?