我有一个点击功能,我想在带有参数的函数之外触发。
<div id="menubar">
<a id="menu_file_open">File Open</a>
<a id="menu_file_save">Save File</a>
</div>
$("#menubar a").click(function(event){
var menu_item = $(this).attr('id');
var $context = $(this);
switch(menu_item){
case 'menu_file_open':
//Do menu file open dialog
break;
case 'menu_file_save': break;
}
});
$('#menubar a').trigger('click'); //not working (ID,context not defined);
如何在实际点击时传递div和ID的上下文。
答案 0 :(得分:6)
它对我有用:
<div id="menubar">
<a id="click_me" href="#">Click me</a>
<a id="dont_click" href="#">Don't click</a>
</div>
$("#menubar a").click(function(event){
var menu_item = $(this).attr('id');
var $context = $(this);
//....
});
$('#menubar a#click_me').click(); // or $('#menubar a#dont_click').trigger('click');
答案 1 :(得分:4)
您可以将arbitrary data传递并检索到jQuery事件处理程序,如下所示:
$(selector).click({ dataItem1: 'value1', dataItem2: 'value2' }, function(e) {
var val1 = e.data.dataItem1,
val2 = e.data.dataItem2;
});
但是,因为你的代码是working here,我怀疑可能还有另一个问题,比如没有加载jQuery库,或者你的脚本中还有错误。