函数current_child
将在没有html的情况下执行li.first
因为参数而被点击。如何在点击时向current_child发送event.target
之类的参数。目前,它在加载页面时执行。跳过像$(document).on("click", "li.first", current_child)
这样的参数,函数将等待执行,直到点击html对象。
var toggle = false;
function current_child(value){
if(value == 1){
alert("Hello");
}
event.preventDefault();
}
$(document).on("click", "li.first", current_child(1));
答案 0 :(得分:1)
使用bind
而不是直接调用您的处理程序:
$(document).on("click", "li.first", current_child.bind(null, 1));
答案 1 :(得分:1)
您可以使用Javascript变量的词法作用域并返回内部函数
function current_child(value){
return function (event) {
if(value == 1){
alert("Hello");
}
event.preventDefault();
};
}
$(document).on("click", "li.first", current_child(1));
名为closure
答案 2 :(得分:1)
您也可以将其包装在匿名函数中:
$(document).on("click", "li.first", function() { current_child(1); });