Ответ 1
если вы добавите динамически поместите клик в список, но выберите элементы:
$("#results").on("click", ".searchterm", function(event){
console.log('clicked');
});
попробуйте скрипту: http://jsfiddle.net/emPKS/
У меня есть элемент <ul>
, который динамически генерирует элементы <li>
и просто хочет запустить событие onclick
<ul id="results">
<li class="device_result searchterm" data-url="apple-iphone-5s">
<a href="#"> Apple iPhone 5s </a>
</li>
<li class="device_result searchterm" data-url="apple-iphone-5c">
<a href="#"> Apple iPhone 5s </a>
</li>
</ul>
У меня есть следующий jQuery в блоке $(document).ready
, но он, похоже, не работает - какие-то идеи, что я делаю неправильно?
$("li .searchterm").click(function() {
console.log("testing");
});
если вы добавите динамически поместите клик в список, но выберите элементы:
$("#results").on("click", ".searchterm", function(event){
console.log('clicked');
});
попробуйте скрипту: http://jsfiddle.net/emPKS/
Удалить пробел в селекторе
$("li.searchterm").click(function() {
console.log('testing');
});
и вы также можете использовать .on
для присоединения определенного события к согласованным элементам
$("li.searchterm").on("click",function() {
console.log('testing');
});
Используйте . on()
Поскольку ваш контент добавляется динамически, поэтому он недоступен напрямую, поэтому вам нужно использовать делегирование событий.
$('#results').on('click','li.searchterm',function() {
console.log('testing');
});
$( "li.searchterm" ).on('click',function() {
console.log('testing');
});
Либо сделайте
$( "li .searchterm" ).on('click', function() {
console.log('testing');
});
ИЛИ
<li class="device_result searchterm" data-url="apple-iphone-5s" onclick="clickFunc(1)">
<a href="#">Apple iPhone 5s</a>
</li>
<li class="device_result searchterm" data-url="apple-iphone-5c" onclick="clickFunc(2)">
<a href="#">Apple iPhone 5s</a>
</li>
И Javascrip
function clickFunc(id) {
console.log('Do something with ' + id);
}
Вы можете сделать это без назначения id для ul
$('ul').on('click','li.searchterm',function(){
//do your stuffhere;
});