Привязка существующего JavaScript функционирует в jQuery

Я думаю, что нашел его - я должен был войти в файл CSS и изменить размер шрифта для управления datepicker непосредственно. Очевидный, как только Вы знаете об этом, но путающий сначала.

21
задан informatik01 17 January 2018 в 17:08
поделиться

3 ответа

Простая fHardCodedFunction уже ссылается на функцию, и суффикс () просто вызовет ее. Поэтому просто передайте функцию вместо ее вызова и, таким образом, просто передавайте возвращаемое значение:

function fBindFunctionToElement(){
   $("#MyButton").bind("click", fHardCodedFunction);
}
34
ответ дан 29 November 2019 в 20:39
поделиться

Заимствуя из других сообщений, вы можете параметризовать свой обработчик событий следующим образом:

function fHardCodedFunction(someValue) {
  alert(this.id + " - " + someValue);
}


function fBindFunctionToElement() {
  var someValue = "whatever";
  $("#MyButton").bind("click", 
       function() {
         fHardCodedFunction.apply(this, [someValue]);
       }
  );
}


$(document).ready
(
  function() {
    fBindFunctionToElement();
  }
);

Я использую применить здесь, потому что в функции fHardCodedFunction я бы хотел это свойство для ссылки на элемент MyButton . Также обратите внимание, что apply ожидает массив для второго параметра, поэтому я заключил someValue в скобки.

Вам не обязательно делать это так, и вы можете вообще забыть об этом свойстве this , если хотите.

4
ответ дан 29 November 2019 в 20:39
поделиться

Да, вы можете связывать методы, написанные где-то еще, но не обращайте внимания на круглые скобки:

function fHardCodedFunction(){
   //Do stuff
}

function fBindFunctionToElement(){
   $("#MyButton").bind("click", fHardCodedFunction);
}
2
ответ дан 29 November 2019 в 20:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: