我想知道下面最重要的方法是重复或在名称下面给出这个“功能”,以便我可以在同一文档中的另一个函数中调用它 - > runThisFunction();
代码:
$('body').on("click", ".manufacturer_details_link", function (e) {
e.preventDefault();
var self = $(this);
var id = self.data("id");
var url = $("#manufacturers_table").data("infourl");
var data_array = {
id : id
};
ajaxCall(url, data_array, "rhs_info");
});
答案 0 :(得分:2)
如果我理解一切正确:
function bodyOnClick( e, optionalId ) {
var nodeRef = optionalId ? document.getElementById( optionalId ) : this;
if( typeof e === 'object' )
e.preventDefault();
var self = $(this);
var id = nodeRef.data("id");
var url = $("#manufacturers_table").data("infourl");
var data_array = {
id : id
};
ajaxCall(url, data_array, "rhs_info");
}
// ---
$('body').on("click", ".manufacturer_details_link", bodyOnClick );
// ---
bodyOnClick( 'someNodeID' );
但实际上,调用 bodyOnClick
plain没有多大意义,因为this
不会引用任何 HTMLElement 。因此,只有在其他事件处理程序上重用该方法或明确地将其称为
bodyOnClick.call( someNodeReference );
击> <击> 撞击>
答案 1 :(得分:0)
你的意思是这样吗?
function someFunction(e){
e.preventDefault();
var id = $(this).data("id"),
url = $("#manufacturers_table").data("infourl"),
data_array = {id: id};
ajaxCall(url, data_array, "rhs_info");
}
//$('.manufacturer_details_link').click(someFunction);
// changed, per feedback
$('.manufacturer_details_link').on('click', someFunction);