我需要将参数发送到运行时生成的下拉列表的on change事件。我怎样才能完成这样的事情:
$(options.host_element).find('select').on('change',(graph_widget.draw_graph).bind(options));
options是我想发送给函数draw_graph的参数,函数是链接但不是参数
答案 0 :(得分:1)
不确定您的函数的签名,但您可以将参数传递给函数本身,就像对任何正常函数一样,所以它看起来像这样:
$(options.host_element).find('select').on('change',function(){
graph_widget.draw_graph(options);
});
Bind用于更改将在函数中使用的this
的值,而不是您正在寻找的内容。
我做了一个小小的小提示来证明:
答案 1 :(得分:1)
jQuery.on
有一个名为data
的可选参数:
$(options.host_element).find('select').on('change', options, graph_widget.draw_graph);
稍后在您的事件处理程序中,您可以使用e.data
访问数据:
function draw_graph(e) {
var options = e.data;
}