Javascript jQuery:重构为函数
我正在处理JavaScript/jQuery,只是想确定如何重构两个非常相似的:Javascript jQuery:重构为函数,javascript,jquery,refactoring,Javascript,Jquery,Refactoring,我正在处理JavaScript/jQuery,只是想确定如何重构两个非常相似的: $('#a-div-element').click(function() { /* common stuff in here */ }) 转换为一个具有两个参数的函数。我希望它与我使用过的其他语言有些相似,即: function my_refactored_stuff(field, target_div) { $(field).click(function{ /* common stuff
$('#a-div-element').click(function() {
/* common stuff in here */
})
转换为一个具有两个参数的函数。我希望它与我使用过的其他语言有些相似,即:
function my_refactored_stuff(field, target_div) {
$(field).click(function{
/* common stuff in here */
});
}
但点击时似乎不会触发
简而言之,如果有人能举一个简单的例子,说明如何编写一个函数来处理.click方法中的常见功能,我将非常感激
非常感谢,,
浮游生物只需定义并重用事件处理程序函数
var handler = function(event) { /* common stuff here */ }
$("#a-div-element").on("click", handler)
$("#b-div-element").on("click", handler)
或者,如果您希望传递参数:
$('#a-div-element').click(function() {
callback( /* args */ );
});
目前,它是实际的元素,例如$(“#我的元素”)看起来很有希望,但是我如何传入参数呢?您不向事件处理程序传递参数;参数始终是DOM
事件
对象。你想通过什么样的辩论?如果您需要每个元素的自定义行为,那么您将需要每个已处理事件的自定义函数,但如果需要,您可以将公共功能移动到单独的函数中。
$('#a-div-element').click(function() {
callback( /* args */ );
});