JQuery :: Селектор отправки не работает? - PullRequest
0 голосов
/ 29 ноября 2009

У меня есть HTML-страница, на которой есть кнопка, подобная этой.

<input id="qsbButton" class="btn" type="submit" tabindex="10" value="Search" name="qsbButton" onclick="searchSubmitted();return true;"/>


$(':image,:reset,:button,:submit').unbind("click")
.bind('click',function(e){
alert("clicked!");
});

$('input:not(:submit),textarea').change(function(e){
alert("typed something!");
});

Я ожидал получить "нажал!" предупреждение, но ничего ... сообщений об ошибках нет.

1 Ответ

2 голосов
/ 29 ноября 2009

Встроенные сообщения не являются «связанными» в традиционном смысле этого слова в зависимости от браузера. Таким образом, вы не можете позвонить unbind, чтобы удалить их. Это код, который вам нужен для переопределения встроенных функций:

$(':image,:reset,:button,:submit').each(function(){
    this.onclick = null;
    $(this).bind('click',function(e){ alert("clicked!"); });
});

А остальная часть вашего кода должна работать как обычно.

EDIT Это может быть более "jQuery-подобным", если написано таким образом, и, вероятно, будет работать быстрее, чем код, показанный выше.

$(':image,:reset,:button,:submit')
    .removeAttr('onclick')
    .click(function(e){ alert("clicked!"); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...