2014-01-13 5 views
1

Моя проблема заключается в том, что невозможно сделать функцию preventDefault(). Вот мой код:jQuery preventDefault() issue

HTML:

<a class="list-ui-controlcol-link list-ui-controlcol-link-delete" href="http://localhost/lmvc_trunk/pages/delete/17">Törlés</a> 

Jquery:

$(".list-ui-controlcol-link-delete").click(function(event){ 
     event.preventDefault(); 
}); 

Даже если скопировать и вставить оригинальный пример из собственного сайта JQuery в (http://api.jquery.com/event.preventdefault/) не работает. Не могли бы вы объяснить мне, почему это происходит и как make preventDefault работает правильно?

+0

Вы уверены, что обработчик щелчка вызывается? –

+4

Вы хотите отметить, что браузер по-прежнему по ссылке? Где вы разместили свой jQuery-скрипт? Попытайтесь положить его внизу страницы, перед закрытием '' или переверните его в обратном вызове DOM. Я предполагаю, что вы пытаетесь применить обработчик click-event до того, как элемент находится в DOM. –

+0

Кажется, что он работает нормально [здесь] (http://jsfiddle.net/a9tm6/). – Rikesh

ответ

0

Где вы добавляете ваш сценарий? Если вы включите скрипт в HEAD, когда загружается скрипт, в DOM отсутствует a.list-ui-controlcol-link-delete.

Попробуйте сделать это:

<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
    <a href="/test" class="list-ui-controlcol-link-delete">Torles</a> 

    <script src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script src="app.js"></script> 
</body> 
</html> 

Где app.js содержит:

$('.list-ui-controlcol-link-delete').click(function(e) { e.preventDefault(); }); 

Хотя я бы рекомендовал использовать функцию .он(), как это будет динамически связывать события на вновь генерироваться Элементы DOM:

$(document).on('click','.list-ui-controlcol-link-delete',function(e) { e.preventDefault(); }); 
1

Необходимо, чтобы ваш скрипт был выполнен после загрузки DOM:

$(document).ready(function() { 
    $(".list-ui-controlcol-link-delete").click(function(event){ 
     event.preventDefault(); 
    }); 
}); 

Смотрите эту страницу для более подробной информации: http://api.jquery.com/ready/

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