我在同一个JS文件的两个位置有以下jQuery代码;
$("#myGrid").delegate(".icon-right", "click", function() {
//Some code
});
$("#myGrid").delegate(".icon-down", "click", function() {
//Some code
});
所以差异就是我在icon-down / icon-right
上听点击事件是否可以优化/合并这两个陈述?
答案 0 :(得分:0)
将两者结合起来
$("#myGrid").delegate(".icon-right", "click", function () {
//Some code
}).delegate(".icon-down", "click", function () {
//Some code
});
在jQuery 1.7之后使用.on()
答案 1 :(得分:0)
是的,你可以这样做:
$("#myGrid").delegate(".icon-right, .icon-down", "click", function () {
if(this.className === 'icon-right'){ // some code}
else if(this.className === 'icon-down'){ // some code}
});
如果您使用的是jquery 1.7+,那么可以使用.on()
switch
尝试使用$("#myGrid").on("click", ".icon-right, .icon-down", function () {
switch(this.className){
case 'icon-right':
//some code
break;
case 'icon-down':
// some code
break;
}
});
:
{{1}}
答案 2 :(得分:0)
使选择器匹配:
$("#myGrid").delegate(".icon-right,.icon-down", "click", function() {
//Some code
});
答案 3 :(得分:0)
尝试使用多重选择器
所有元素的相同功能:
$("#myGrid").delegate('click','.icon-right,.icon-down', function(e){
});
不同元素的不同功能:
$("body").delegate('click','.icon-right,.icon-down', function(e){
if ($(this).is('.icon-right')) { }
else { }
});