2013-09-06 4 views
6

Я использую функцию jquery для мобильных устройств, однако она не работает.jQuery при нажатии кнопки не работает

Вот пример кнопки, которая у меня есть, и оно содержится в сетке:

<div class="ui-block-c"><a class="request" data-role="button" data-id="\"'+json[i].num+'\" data-type="3" data-icon="plus" data-iconpos="right">Test</a></div> 

JQuery функции:

$('.request').on('click', function() { 
    alert("hi"); 
}); 

Как это исправить?

+1

Он работает [здесь] (http://jsfiddle.net/BFnL5/) –

+0

Вы уверены, что вы связываете, когда элемент уже загружен? Это неправильный способ использовать 'on'. –

ответ

16

Похоже, что вы добавляете этот элемент динамически, так что вы должны будете использовать делегированный слушатель событий:

$(document).on('click', '.request', function() { 
    alert("hi"); 
}); 

Также у вас есть проблемы с вашими сбежавшими кавычками не соответствуют. Я не думаю, что те, которые необходимы:

<div class="ui-block-c"><a class="request" data-role="button" data-id="'+json[i].num+'" data-type="3" data-icon="plus" data-iconpos="right">Test</a></div> 
+0

это работает, однако, форматирование на кнопку теряется, вы знаете, как подойти к этому? – nshah

+0

кавычки в порядке, потому что html-код находится в кавычках '', потому что позже он добавляется jquery – nshah

+1

. Какое форматирование теряется? Что касается кавычек, у вашего вопроса было нечетное число символов кавычек, что не является допустимым HTML и вызовет проблемы с рендерингом. Это может быть источником проблем с форматированием. – cfs

-4
$(.request).click(function(){ 
alert("hi") 
}); 
+5

Привет, Джек, добро пожаловать в Stackoverflow! Пожалуйста, объясните также свои ответы словами. Почему вы думаете, что это должен быть ответ. Если вы дали ответ, который не работает, вы можете удалить его или отредактировать. Но приятно с некоторыми словами, объясняющими вашу идею. Ура! – Sergio

+0

В этом случае я не думаю, что изменение в '.click()' будет иметь значение или будет решением этого вопроса. – Sergio

+0

Ничего себе! Вы, ребята, суровы, я только пытался помочь :( –