2016-03-04 4 views
-2

Я использую выключен(), чтобы отключить щелчок DIV, но я не могу включить его с на()On/Off Нажмите JQuery

Вот мой JQuery код:

$("div").off("click"); 
 
do something....... 
 
$("div").on("click");

Скажите, пожалуйста, почему? Спасибо вам.

+3

Вы должны добавить функцию обратного вызова обработчика события, '$ ("Див") на ("щелчок", функция() {}). ' –

+2

почему вы хотите это сделать ... что такое' do something .......' part –

+0

Я хочу отключить клик, потому что по нажатию кнопки многие процессы будут запущены, и я не хочу, чтобы люди многократно нажимали на кнопка. – Ivan

ответ

1

Что касается official jQuery reference, функция .on() требует как event (т.е. "щелчок") и handler (т.е. DoSomething).

$("div").on("click", functionToCallWhenClicked); 

Edit 1:

Что касается Вашего комментария, вот некоторые другие способы вы можете прикрепить событие щелчка:

  • Via .bind()

    $ ("ДИВ ") .bind (" щелчок», functionToCallWhenClicked);

  • Via .click()

    $ ("ДИВ") нажмите кнопку (functionToCallWhenClicked).

  • Via native JavaScript

    вар у = document.getElementsByTagName ("ДИВ"); var i; для (i = 0; i < y.length; i ++) { y [i] .addEventListener («click», functionToCallWhenClicked); }

+0

У вас есть другой способ включить его? – Ivan

+0

Не уверен, что я понимаю ваш вопрос, но смотрю ** Редактировать 1 ** – GigiSan

0

Вы можете определить функцию обработчика, чтобы передать его off, чтобы отключить его, а другой, чтобы one включить его.

У вас есть пример того, как add and remove event handlers on the colored button в jQuery documentation

function flash() { 
    $("div").show().fadeOut("slow"); 
} 
$("#bind").click(function() { 
    $("body") 
    .on("click", "#theone", flash) 
    .find("#theone") 
     .text("Can Click!"); 
}); 
$("#unbind").click(function() { 
    $("body") 
    .off("click", "#theone", flash) 
    .find("#theone") 
     .text("Does nothing..."); 
}); 
Смежные вопросы