我有一种情况,我希望从文档就绪和点击调用函数。
var load_report = function(params) {
report_name = params.data.report_name;
// code continues
}
我可以点击 -
来调用它$("#report-" + report_name).click({'report_name': report_name}, load_report);
但是,如果满足某些约束条件,我还想从$(document).ready()
打电话 -
$(document).ready(function() {
if (($.url().param()) && ($.url().param('report_name'))) {
report_name = $.url().param('report_name');
// Call load_report with report_name parameter
}
}
我已尝试过 - load_report({'report_name': report_name})
,$.call({'report_name': report_name}, load_report)
,$({'report_name': report_name}, load_report);
,但这些都没有效果。
load_report({'report_name': report_name})
看起来最简单,最有希望,但params.data.report_name
失败,因为params.data
未定义。基本上,我需要做的就是将字典转换为一种格式,其解释方式与.click()
事件数据的解释方式相同。
我的问题是 - 如何使用我的参数调用load_report函数而不将其绑定到事件?
答案 0 :(得分:2)
您必须记住数据密钥
load_report({data : {'report_name': report_name}});
或只是触发事件
$("#report-" + report_name).trigger('click');
答案 1 :(得分:0)
您需要做的就是load_report({'report_name': this.id.replace('report-', '')});
。
$("#report-" + report_name).click(function(){
load_report({'report_name': this.id.replace('report-', '')});
});