2015-12-30 2 views
-1

У меня есть этот код, который я повторяю для трех различных элементов:Применение по щелчку/на функциях при наведении на несколько классов элементов в JS

$container.on('click', '.item-content', function (event) { 
    //some code 

}); 

$container.on('click', '.item-content2', function (event) { 
    //some code 

}); 

Но такую ​​же функциональность самой функции. Есть ли способ объединить их в одно утверждение? Как:

$container.on('click', ['.item-content','.item-content2'], function (event) { 
    //some code 

}); 
+0

Вам не нужны скобки. Используйте '$ container.on ('click', '.item-content, .item-content2', function (event) {'. Скобки, указанные в [jQuery Documentation] (http://api.jquery.com/ on /) означает, что они не являются обязательными. – Tushar

+0

, но он просто разделен запятой? – Pipeline

+0

@Pipeline yes, в строке селектора он разделен запятой. Те же правила, что и CSS, поэтому вы можете делать '' #id, .classes, # id2 .classes-in-id2, div, [type = text], .classes> p'' - широкий диапазон опций, все разделенные запятыми. То же самое, что вы делали бы внутри селектора элементов jQuery (например, '' $ ('# someselector, .someclasses') ') – vol7ron

ответ

3

Вы можете добавить несколько элементов, как этот HTML

<button class="item-content">Button 1 </button> 
<button class="item-content1">Button 2 </button> 
<button id="item-content2">Button 3 </button> 
<button class="item-content3">Button 4 </button> 

JS

$('body').on('click','.item-content,.item-content1, 
       #item-content2,.item-content3',function(event){ 
       alert(event.target.innerHTML) 
}) 

WORKING MODEL

ПРИМЕЧАНИЕ: Так как я не уверен, что $container я использовал body для удаления события. u может вносить изменения по мере необходимости.

Надеется, что это будет полезно

1

Вы можете использовать селектор на запятой, как».class1, .class2"

$(function(){ 
     $(document).on("click",".item-content,.item-content2",function(e) { 
       alert('clicked'); 
     }); 
}); 
Смежные вопросы