событий jQuery.preventDefault() не работает в Firefox (включая JSFiddle)
это своего рода аналогичный дубликат некоторых других здесь, но я думаю, что я использую event.preventDefault()
правильно в данном случае.
вот JSFiddle вы можете увидеть код с:http://jsfiddle.net/SeEw2/2/
в основном, нажмите кнопку Отправить.
В Chrome: ничего не происходит - правильный ответ.
В Firefox: страница перезагружается, О нет!
Итак, почему перезагрузка страницы в Firefox и не Хром? Я Firebugging и без ошибок, приходят в то...
5 ответов
переменная event
в коде не инициализируется.
выдержка :
$('#ajaxsearch').click(function(event) {
// Stop the Search input reloading the page by preventing its default action
event.preventDefault();
Ах, у меня была аналогичная проблема в прошлом. А не событие.preventDefault () попробуйте передать событие в:
function ie8SafePreventEvent(e){
if(e.preventDefault){ e.preventDefault()}
else{e.stop()};
e.returnValue = false;
e.stopPropagation();
}
Я знаю, что он говорит IE, но у меня никогда не было проблем с ним с =]
потому что вы не передаете объект события, как function(event)
, но мой вопрос в том, почему даже пройти через все это, когда вы можете сделать type="button"
и onclick передают значения? В сущности то, что вы делаете со всем этим процессом.
вместо того, чтобы искать событие щелчка на кнопке отправки, почему бы не использовать $(форма).submit обработчик?
пока у вас есть "return false" в конце обработчика, страница не перезагрузится.
Я решил это таким образом, потому что мой код немного отличается, это может быть полезно для других людей. Мой первоначальный код выглядел так.
<form id="enrollstudentform" onsubmit="return enrollStudents()">
...
</form>
моя функция js выглядела как
function enrollStudents() {
// Stop Form.
event.preventDefault();
// Other code
}
Я должен передайте событие параметра в вызове функции и получите его в функции.
<form id="enrollstudentform" onsubmit="return enrollStudents(event)">
...
</form>
код js:
function enrollStudents(event) {
// Stop Form.
event.preventDefault();
// Other code
}
надеюсь, это поможет.