Как предотвратить дефолт в методе onclick? У меня есть метод, в котором я также передаю настраиваемое значение
<a href="#" onclick="callmymethod(24)">Call</a>
function callmymethod(myVal){
//doing custom things with myVal
//here I want to prevent default
}
javascript
coure2011
источник
источник
onLoaded
наno wrap
. Или вместо этого просто напишите свою собственную разметку .html.preventDefault
, вопрос в том, как «предотвратить щелчок по умолчанию» .На мой взгляд, ответ неверен! Он просил,
event.preventDefault();
когда вы просто возвращаете false; он также вызываетevent.preventDefault();
ANDevent.stopPropagation();
!Вы можете решить это следующим образом:
<a href="#" onclick="callmymethod(event, 24)">Call</a>
function callmymethod(e, myVal){ //doing custom things with myVal //here I want to prevent default e = e || window.event; e.preventDefault(); }
источник
window.event
что не всегда доступно в браузерах.Попробуйте это (но, пожалуйста, используйте кнопки в таких случаях, если у вас нет допустимого
href
значения для постепенной деградации )<a href="#" onclick="callmymethod(24); return false;">Call</a>
источник
return false;
? К чему мы вообще возвращаем ложь?Вы можете поймать событие, а затем заблокировать его с помощью preventDefault () - работает с чистым Javascript
document.getElementById("xyz").addEventListener('click', function(event){ event.preventDefault(); console.log(this.getAttribute("href")); /* Do some other things*/ });
источник
Просто поместите "javascript: void (0)" вместо "#" в теге href.
<a href="javascript:void(0);" onclick="callmymethod(24)">Call</a>
источник
Это сработало для меня
<a href="javascript:;" onclick="callmymethod(24); return false;">Call</a>
источник
Ты можешь использовать:
event.stopPropagation();
https://dom.spec.whatwg.org/#dom-event-stoppropagation
источник
Было бы слишком утомительно изменять использование функций на всех html-страницах на
return false
.Итак, вот протестированное решение, которое исправляет только саму функцию:
function callmymethod(myVal) { // doing custom things with myVal // cancel default event action var event = window.event || callmymethod.caller.arguments[0]; event.preventDefault ? event.preventDefault() : (event.returnValue = false); return false; }
Это правильно предотвращает посещение IE6, IE11 и последней версии Chrome
href="#"
после завершения обработчика событий onclick.Кредиты:
источник
Если нужно поместить в тег. Не лучшее решение, но оно сработает.
Убедитесь, что вы поместили событие onclick перед href. Работал только у меня так.
<a onclick="return false;" href="//www.google.de">Google</a>
источник
Другой способ сделать это - использовать
event
объект внутри атрибутаonclick
(без необходимости добавлять в функцию дополнительный аргумент для передачи события)function callmymethod(myVal){ console.log(myVal); }
<a href="#link" onclick="event.preventDefault();callmymethod(24)">Call</a>
источник
Дайте класс или идентификатор элементу и используйте функцию jquery unbind ();
$(".slide_prevent").click(function(){ $(".slide_prevent").unbind(); });
источник