2011-06-01 2 views
0

У меня есть следующий код внутри тега <script>:.click событие не кажется, что огонь

$(document).ready(function(){ 
    $("#toolbarReset").click(function() { 
    alert("I've been clicked! Oh, what a world!"); 
    }); 

    ... other, unrelated functions, which all seem to work fine  

}); 

... и некоторые HTML ниже:

<span id="toolbarReset" style="line-height: 18px; width: 50px; height: 21px; padding: 0pt 7px 0pt 3px;"> 
    Reset 
</span> 

... но когда я нажимаю на слова «Сброс», ничего не происходит.

попытался изменить его с помощью "идентификатор" в "класс", и обновление кода JQuery соответствующим образом ("#toolbarReset" стал "toobarReset"). Попробовал ввести код внутри события .click для вывода в консоль Firebug и проверить, что «toolbarReset» является уникальным идентификатором внутри DOM.

+2

Если удалить все ваши другой сценарий, это работает? Динамически добавляется ли ваш диапазон в DOM? Я не вижу ничего плохого в том, что вы опубликовали. – Chris

+0

Вы проверили, что готовая функция фактически запущена? – Dave

+0

, возможно, попробуйте проверить свой html, а также посмотреть, есть ли какие-либо ошибки. –

ответ

0

Оказалось, что речь идет о сроках. Мой код jQuery выполнялся до того, как элемент был загружен на страницу, из-за того, где я разместил их по отношению друг к другу, - поэтому jQuery пытался связать с ID, который еще не существует.

0

Кажется, работает для меня, в каком браузере вы используете?

http://jsfiddle.net/YLCff/

+0

Я пробовал его в Firefox 4 и Chrome 11, оба работали. –

+0

Использование Firefox 4 – jefflunt

+0

Я бы предложил проверить вашу страницу через W3C, чтобы узнать, есть ли бродячие теги, вызывающие проблемы. –

0

может быть, у Вас есть больше чем один #toolbarReset, если это так он не будет работать, пока вы не удалите другие идентификаторы.

+0

Мысль об этом. Был ли «Просмотр источника» для моей живой страницы и подтвердил, что только два места «toolbarReset» появляются (1) в коде jQuery, и (2) в теге span – jefflunt

+0

проверяют, если вы ввели все необходимые предупреждения о файлах jquery , это странно, потому что код работает на меня! попробуйте jAlert (сообщение, [title, callback]) – Al3bed

+0

#toolbarReset представляет идентификатор элемента html. Спецификация HTML указывает, что идентификаторы уникальны. См. Http://www.w3.org/TR/html401/struct/global.html#h-7.5.2 – mrk

-1

Я проверил код в своем браузере, это сработало. В любом случае попробуйте использовать .on вместо .click.

т.е.

$("#toolbarReset").on('click',function() { 
// watever code 
} 
+0

Метод .click и .on метод с параметром для click 'click' абсолютно идентичны. Пожалуйста, избегайте ответов на очень старые вопросы и уже имеете их accpeted ответ, если у вас нет какой-либо новой или справочной/заполняющей информации. –

Смежные вопросы