2013-10-18 67 views
0

我喜歡這三個鏈式事件:如何把鏈條事件的條件?

$("#Id") 
.click() 
.focus() 
.blur() 

我想要什麼:

var A = 0; 
if(A == 0) 
execute blur event 

我要得到執行模糊事件只有當條件已經fullfilled。

我試圖檢查是否滿足模糊事件的條件,但問題是,它執行的模糊功能基本上什麼也沒做,但我仍然有一個問題,我不得不點擊兩次,以獲得我desierd從功能desierd另一個事件(注意:不是來自模糊事件的功能)。

我的主要問題: 我點擊文本框,顯示了我一個datepicker,當我選擇日期我模糊事件執行,因爲我離開文本框,然後從日期選擇器的日期。我的模糊事件有一個回執執行,但問題是我不希望它執行時,我從我的日期選擇日期選擇日期。注意:當我選擇一個日期我的代碼,讓我從我選擇的日期那一週,所以它不是你的deafult「datepicker」功能,這與問題無關,但我認爲這將是很好的提及它。

如果這是可能的,我深深感謝答案。 我ANY1認爲以下soloutions我只想說,香港專業教育學院嘗試,並沒有奏效: 內模糊事件:

return false 
return true 
+0

您使用的是什麼日期選擇和你用什麼代碼來實例化? – jah

+0

我不完全確定你的意圖是什麼,但它是這樣的,你想要的東西? http://jsfiddle.net/ZDzEw/ – jah

+0

即時通訊使用jQuery UI日期選擇器。我在做什麼: 當我點擊一個文本框時,我得到我的日期選擇器,當我選擇一個日期時,我得到該日期的一週,但問題是,我有一個模糊功能,執行cuz即時離開文本框和選擇日期。我想要什麼:我只想模糊執行,如果我沒有選擇一個日期。爲此,我在我的日期選擇器上設置了選項,我把值設置爲0/1,具體取決於如果日期選擇器已打開或沒有,但問題是我無法弄清楚如何執行模糊 – ThunD3eR

回答

1

我想我們所有人都學會了使用插件時的難題,因爲它可能實際上包含了您可能想要用於更改的內容,所以閱讀所有文檔是很好的。

我更詳細地閱讀了jQuery datepicker,並瞭解到它有一個onClose選項,只要您點擊datepicker就會執行該選項。所以我基本上做的是我從blur函數中獲取代碼並將其放入onClose函數(選項)中,然後瞧。

代碼:

 $('#calWeekF') 
      .click(function() { this.select(); }) 
      .focus(function() { $('#calBtnShow').unbind('click', function() { $.overview.calendar.load() }); }) // De-activate button to prevent duplicate calls to loadCalendar 
      .datepicker({ 
       showWeek: true, 
       onSelect: function (date, object) { 

        $.MyProject.calendar.changeDate(new Date(date)); 

        $.astra.calendar.changeWeek($("#" + object.id).val()); 
        // Add some delay befor activating the button 
        $("#" + object.id).oneTime(200, 'calBtnShow', function() { $('#calBtnShow').click(function() { $.overview.calendar.load() }); }); 

       }, 
       onClose: function (date, object){ 
        $.astra.calendar.changeWeek($("#" + object.id).val()); 
        // Add some delay befor activating the button 
        $("#" + object.id).oneTime(200, 'calBtnShow', function() { $('#calBtnShow').click(function() { $.overview.calendar.load() }); }); 
        } 
      }) 
0

可以使用.filter()方法:

$('#Id').click().focus().filter(function() { 
    // var A = 0; 
    return (A==0); 
}).blur(); 
+0

嗯,當我試着這樣我的日期選擇器停止像我的模糊功能一樣工作。我沒有得到任何錯誤,它只是不執行。對不起,遲到的回覆,但週末打我:=) – ThunD3eR