我应该如何组织我的jquery代码以使其干燥?

时间:2013-06-20 14:29:55

标签: javascript jquery

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

我有以下功能:

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

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

在每个页面上调用Function1,只在一个页面上调用function2。

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

我应该使用全局变量吗?或者上面的代码是我能想到的最好的代码?

------------------ UPDATE ------------------

这两个功能的具体内容如下:

Function1执行此操作:iPhone Safari Web App opens links in new window

Function2打开一个对话框灯箱。

2 个答案:

答案 0 :(得分:2)

function Function1() {
  $('a').click(function(event){
     if($(this).is('.dialog')) //or .hasClass('dialog')
         //...
     else //...
  });
};

答案 1 :(得分:1)

一种方法可能是这样做:

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

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

减少if ...

的数量

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