【发布时间】:2015-07-14 15:40:27
【问题描述】:
var div_raw_id = 'acf-download-link';
var div_id = '#' + div_raw_id;
var chapter_index = 1;
var chapter = 'chapter-' + chapter_index;
$('button[name=addnewchapter]').click(function(chapter, div_id ,div_raw_id){
$(div_id).append('<div class="acf-input-wrap"><input id="' + div_raw_id +'" class="text" name="fields[field_55951fb44c1d6][' + chapter + '][]" value="" placeholder="" type="text"><span class="remove_btn"></span></div>');
return false;
});
问题是我无法将div_id、chapter_index、chapter 作为参数传递给单击事件中的匿名函数。我使用了调试器,调试器将它们表示为未定义的值,即使它们是在上面的代码中定义的。似乎存在变量范围问题,但是,我想不出任何其他方法将定义的变量作为参数传递给 click 事件中的匿名函数。
【问题讨论】:
-
您不必在函数中将其作为参数传递。只需使用它里面的变量
-
我认为您不需要将它们作为参数传递。只需在函数中直接使用它们。因为它们是在全局范围内定义的
-
@MikeBoutin 我已经包含了代码。我只是想在单击按钮时将输入字段附加到我的表单中,到底是什么让您感到困惑?
-
.on( events [, selector ] [, data ], handler )->data: "触发事件时要在 event.data 中传递给处理程序的数据。"
标签: javascript jquery function