привязка, вызывающая ошибки

#jquery

#jquery

Вопрос:

Я замечаю некоторые ошибки, которые возникают из-за привязки jQuery. Что происходит, так это то, что когда я отправляю форму, привязка вызывает ошибку javascript, когда страница, которая ее использует, не загружена. Когда я комментирую раздел привязки, ошибка исчезает.

Вот соответствующие строки кода.

   $('input').bind('click', function() {
    editor.post();
  });

  $("#submit").click(function () {
  ...
  

Есть ли способ переместить функцию щелчка привязки внутрь функции щелчка отправки? Если нет, то как я могу предотвратить возникновение этой ошибки?


Это ошибка:

 editor is not defined
script.js
editor.post();
  

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

1. где вы определяете редактор? пожалуйста, дайте нам посмотреть больше кода

Ответ №1:

«привязка приводит к возникновению ошибки javascript, когда страница, которая ее использует, не загружена».

Если это так, то переместите свой код внутрь document.ready(), тогда никакой код не будет выполняться до тех пор, пока документ не будет загружен.

однако, если вам нужно немедленное действие обработчика щелчков со всеми входными элементами, тогда либо используйте более конкретный селектор для привязки, чтобы вы могли проверить существование кода перед запуском, либо используйте try-catch 🙂

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

1. Сеул. Я действительно тупой в Javascript. 🙂 Не могли бы вы, пожалуйста, быть более конкретными? У меня уже есть идентификатор в теге формы. Могу ли я это использовать?

2. @jim: конечно, ты можешь, и так будет лучше 🙂 эй, незнание чего-то — это не глупость, не думай так.

3. Спасибо, Сеул. Если вы можете в это поверить, я на самом деле больше понимаю о javascript в эти дни. Можно только представить, на что я был похож, когда утверждал, что вообще ничего не знаю. 🙂 Я смог исправить эту ошибку, просто удалив функцию привязки щелчка все вместе и просто перейдя editor.post() к другой функции щелчка. Не уверен, что это правильно.