10

一部の要素を除外する必要があるクリック イベントのリスナーがあります。

現在、私のリストは増え続けているため、セレクターに複数の要素を「バンドル」するためのより良い方法を探しています。

これは私が持っているものです:

$(document).on('click tap', function(event) {               
    if ($(event.target).closest('div:jqmData(panel="popover")').length > 0 ||
        $(event.target).closest('div.pop_menuBox').length > 0 ||
        $(event.target).closest('.toggle_popover').length > 0 ) ||
        $(event.target).closest('.ui-selectmenu').length > 0 {
          return; 
    }
    // do stuff
});

これらの要素を除外するより良い方法はありますか?

手伝ってくれてありがとう!

4

3 に答える 3

27

CSS セレクターを指定できます。つまり、コンマを使用して 2 つ以上のセレクターを指定できます。

if($(event.target).closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
    return; 
}
于 2012-03-21T12:55:51.277 に答える
6

コンマを使用します。

if ($(event.target)
     .closest('div:jqmData(panel="popover"), div.pop_menuBox, .toggle_popover, .ui-selectmenu').length > 0) {
     return; 
}
于 2012-03-21T12:55:02.120 に答える
1

jquery のドキュメントによると、最も近いものに複数のセレクターを提供できます: http://api.jquery.com/closest/

于 2012-03-21T12:55:34.860 に答える