Вопрос по событию jQuery - PullRequest
       1

Вопрос по событию jQuery

1 голос
/ 24 августа 2011

Если у меня есть код, подобный следующему;

if (x == "0")
{
     $("input:checkbox").parent().mouseover(function () {
     //Some code
     }
}

У меня вопрос, будет ли код выполняться при каждом наведении мыши ИЛИ сначала проверяет условие x == "0", а затем срабатывает?

Другими словами, код $("input:checkbox").parent().mouseover() похож на тот, который можно получить с помощью функции bind () или live () (которая запускается каждый раз при этом событии), и условие включения «x» не будет дело?

Есть ли способ связать событие с условием "x", например, ограничить его область действия, только если x имеет значение true?

Я не совсем уверен, что мой вопрос действительно действителен. Но было бы здорово, если бы вы могли уточнить.

Ответы [ 3 ]

2 голосов
/ 24 августа 2011

событие будет прикреплено в первый раз, когда x имеет значение = 0. и затем оно будет выполняться на каждом onMousehover, вы можете отсоединить событие, если x отличается от 0.

if (x == "0")
{
    $("input:checkbox").parent().mouseover(function () {
    //Some code
} else {
    $("input:checkbox").parent().unbind('mouseover');
}
2 голосов
/ 24 августа 2011

У меня вопрос, будет ли код выполняться при каждом наведении мыши ИЛИ сначала он будет проверять условие x == "0", а затем срабатывать?

Он будет выполняться на каждомпри наведении курсора мыши, если x == "0" в точке, в которой вы написали этот код.

Если вы хотите выполнить фрагмент кода только при x == "0", попробуйте

 var x = "0"; // or any other value.
 $("input:checkbox").parent().mouseover(function () {
   if(x == "0") {
     // code goes here
   }
 }
1 голос
/ 24 августа 2011

После того, как событие наведения мыши прикреплено, оно сработает независимо от X. Вы можете получить нужный эффект, проверив X внутри функции обратного вызова.

 var x = 0;

 $("input:checkbox").parent().mouseover(function () {
  if(x != 0) { return; }
  // some code
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...