2015-03-25 5 views
2

Может ли пространство событий jQuery содержать дефисы (дефисы)? У меня длинные пространства имен, и я хочу отделить их дефисами, возможно ли это? Я не нашел никакой документации по http://api.jquery.com/unbind/. Вы знаете, где это задокументировано?Может ли пространство событий jQuery содержать тире?

Код что-то вроде этого:

var close_menu_event_element = $('{selector}'); 
var event = 'click.our-top-menu'; // Can be also 'click.our-compose-menu' 
if (close_menu_event_element.length > 0) { 
    close_menu_event_element.unbind(event); 
    if (typeof(func) === "function") { 
     close_menu_event_element.bind(event, func); 
    } 
} 

Update: свяжите и отвязать работу в Chrome 41.0.2272.101 м с пространствами имен с тиром, но я хочу знать, если он работает в любом браузере с JQuery ? Мы используем jQuery 2.1.1.

+0

, пожалуйста, поделитесь соответствующим кодом и объясните его. –

+3

Почему бы не попробовать? –

+0

Я согласен с @MillieSmith - сосать его и посмотреть, как лучше всего учиться. Тем не менее, да, они могут. –

ответ

2

Я хочу знать, если он работает в любом браузере с JQuery

Да, он будет работать во всех основных браузерах без проблем. Все jQuery для разрешения пространств имен разделяют селекторную строку на символ .. Что-то вроде этого:

namespaces = (tmp[2] || "").split(".").sort(); 

Ничего особенного здесь, сплит метод будет работать везде, вы можете использовать - или @, если вы хотите в пространстве имен подстроки.

Вот лучшая документация: source code.

+0

Спасибо! Кстати, вы знаете, почему они использовали «myEvents» в качестве пространства имен в http://api.jquery.com/unbind/? Возможно ли, что jQuery не будет поддерживать пространства имен с тире в будущем? – Uri