2

我正在努力如何组织我的 jquery 代码。

我有以下功能:

function Function1() {
  $('a').not('a.dialog').click(function(event){
    // Do something.
  });
};

function Function2() {
  $('a.dialog').click(function () {
    // Do something.
  });
};

Function1 在每个页面上调用,function2 仅在单个页面上调用。

消除这两个函数之间重复的最佳方法是什么,特别是对“a.dialog”的引用。

我应该使用全局变量吗?还是上面的代码是我希望的最好的?

- - - - - - - - - 更新 - - - - - - - - -

这两个函数的具体情况如下:

Function1 这样做:iPhone Safari Web App 在新窗口中打开链接

Function2 打开一个对话框灯箱。

4

2 回答 2

2
function Function1() {
  $('a').click(function(event){
     if($(this).is('.dialog')) //or .hasClass('dialog')
         //...
     else //...
  });
};
于 2013-06-20T14:34:18.793 回答
1

一种方法可能是这样做:

$('a').click(function(){
    alert('work');
})

$('.dialog').unbind().click(function(){
    alert('really work')
})

减少如果...的数量

小提琴:http: //jsfiddle.net/SJvrD/

于 2013-06-20T14:39:11.503 回答