如何在javascript中将变量函数传递给onclick事件?
我是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')
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操作不是一个好的做法。你说什么?