2012-02-17 58 views

回答

0

您可以在任何特定的UX發生.trigger()自定義事件:

$(document).delegate('.ui-selectmenu-screen', 'click', function() { 

    //find the select and trigger a `close` event since the overlay was clicked 
    $(this).prev().find('select').trigger('close'); 
}).delegate('.ui-select', 'click', function() { 

    //find the select and trigger an `open` event since the menu was clicked 
    $(this).find('select').trigger('open'); 
}); 

我無法弄清楚到底如何綁定到X(關閉)按鈕,窗口小部件,但我敢肯定你可以觸發自定義事件。

使用上面的代碼,你現在可以註冊的事件處理程序openclose事件的select元素:

$(document).delegate('#select-choice-9', 'open close', function (event) { 
    console.log(event.type); 
}); 

這裏是一個演示:http://jsfiddle.net/AaKnG/

+0

控制檯沒有記錄所有那些事件對我來說 – shanabus 2012-02-18 05:56:35

+0

@shanabus你在使用什麼瀏覽器?我測試過:Chrome 17,Firefox 10,IE 9/8/7,Opera 11,Safari 5.你應該看到'open'和'close'事件......這是一個更新的JSFiddle:http:// jsfiddle達網絡/ AaKnG/1 /。唯一的區別是通知是通過'alert'完成的,所以你不能錯過它。此外,請注意,這隻會在小部件打開時觸發'open'事件,並且通過在小部件外部單擊(而不是通過單擊「X」按鈕)來關閉小部件時關閉小部件。 Chrome 18中的 – Jasper 2012-02-18 16:45:51

+0

,只有「open」警報觸發。 – shanabus 2012-02-19 04:23:18

相關問題