我有很多元素,其中一些元素有两个类,而有些只有一个。
缩短代码:
<input type="text" class="first second" value="" />
<input type="text" class="second" value="" />
<input type="text" class="first" value="" />
<input type="text" class="second" value="" />
<input type="text" class="first second" value="" />
<input type="text" class="first second" value="" />
jQuery的:
var my_function = function() {
// ...
};
$('.first').on('change', my_function);
$('.second').on('change', function() {
// ...
// here I want to trigger the above onchange function for the same element with class "first"
// but "$(this).trigger('change');" will call both
if (some_condition) {
my_function(this); // <== here I get error "g.nodeName is undefined" in jQuery library
}
});
如何仅触发第二个功能中的第一个功能?
最佳答案
尝试使用一个函数:
function f(obj) {
//stuf here
}
$('.first').on('change', function() {
f($(this));
});
$('.second').on('change', function() {
// ...other stuf here
f($(this));
});
或使用名称空间:
$('.first').on('change.first', function() {
// ...
});
$('.second').on('change.second', function() {
// ...
// here I want to trigger the above onchange function for the same element with class "first"
$(this).trigger('change.first');
});