Отключить действие над данными-href onclick

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть такой тег

 <a onlclick="return isExecute();" data-href="/otherPage">
  

Как я могу сделать, чтобы предотвратить перенаправление /otherPage при isExecute() возврате false.

Комментарии:

1. У вас есть опечатка onlclick , исправьте это, также опубликуйте свой isExecute() код?

2. Почему бы не перенаправить из isExecute() функции только так, как вы знаете сам результат?

3. Добавить return false; в качестве последнего оператора в function isExecute

Ответ №1:

попробуйте это :

 <a onlclick="return isExecute();" data-href="javascript:if(isExecute()){ return '/otherPage'; }">
  

Комментарии:

1. Хотя этот фрагмент кода может решить проблему, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для читателей в будущем, и эти люди могут не знать причин вашего предложения кода.

Ответ №2:

 <a onclick="return isExecute(event);" data-href="/otherPage">
  

Напишите isExecute() функцию, подобную этой.

 function isExecute(e) {
    e.preventDefault();
    /* Your Code */

}
  

Ответ №3:

Вы можете предотвратить действие привязки по умолчанию, выполнив это

 <a onlclick="redirect()" data-href="/otherPage">
  

затем над функцией

  function redirect(e) {          
            if(!isExecute()) {
              e.preventDefault();
            }
        }
  

или, если ваша функция isExecute является асинхронной, вы можете сначала preventDefault и передать data-href и, если возвращает true, перенаправить