有没有办法在 one expressinon 中合并,例如:
$('.class').click()
if( foo == 'bar')
我的意思是,
单击.class项并且var为true时,执行某些操作
将这一点放在一起的东西
$('.class').click(function(){
if(foo == 'bar'){
//do something
}
})
答案 0 :(得分:1)
根据您的测试用例,您可以尝试使用jquery选择器;
例如:
如果.class
是</a>
标记,您可以这样:
$('a[href=#^"'+foo+'"].class').click(function(){ /* */ });
如果是这样的<input/>
$('input[value="'+foo+'"].class').click(function(){ /* */ });
显然foo
应为global
答案 1 :(得分:0)
正如我在评论中所说,这似乎是最好的方法。但作为概念证明,您可以使用以下命令扩展jQuery:
(function($) {
$.fn.cond_click = function(condition, handler) {
return this.click(function() {
if(condition.apply(this, arguments)) {
handler.apply(this, arguments);
}
});
};
}(jQuery));
可以用作:
$('.class').cond_click(function(){
return foo === 'bar';
}, function() {
// do something
});