2015-01-07 3 views
0

У меня есть код JS для отслеживания, если пользовательская мышь покидает окно. Как я могу сделать это событие только один раз с помощью jQuery? (Извините, я новичок в Javascript и новичок в программировании).Как я могу выполнить обработчик событий Javascript только один раз?

Mouse Tracking Код:

addEvent(document,"mouseout",function(e){ 
e = e ? e : window.event; 
var from = e.relatedTarget || e.toElement; 
if(!from || from.nodeName == "HTML"){ 
//cursor has left, add action here 
window.location.href = '#popup1'; 
} 
}); 

Я считаю, что это то, что я ищу, чтобы осуществить, чтобы огонь событий только один раз:

$(document).ready(function(){ 
    $("button").one("event", function(evt){ 
     //Your Code 
    }); 
}); 

Спасибо!

+1

.one будет работать ... какой пример вы возникли проблемы с использованием его? –

+0

'e.target' - это собственность, которую вы хотите, те, которые вы используете, являются шелушащимися. – dandavis

+0

Как отображаются показанные 'addEvent' и' .one («событие», ..) '? – user2864740

ответ

1

Если вы не используя one() функцию, которая должна делать именно то, что вы описали вы можете сделать то же самое с on() и off()

$("#foo").on("click", function(event) { 
    alert("This will be displayed only once."); 
    $(this).off(event); 
}); 
+2

, но 'one()' срабатывает только один раз, так зачем нужен флаг? Кажется, что код bloat – charlietfl

+0

вы правы, я пропустил использование one() и предположил, что он включен(). Отредактировал мой ответ. – Lupin

0

не могли бы вы сделать что-то вроде этого?

$(window).one('mouseout', function() { 
    alert(); 
}); 

http://jsfiddle.net/20av9bnr/2/

+0

получил, должен иметь возможность просто использовать $ (окно), тогда нет? – gregdevs

+0

ну, я думаю, что one() подобен on() и, таким образом, срабатывает над любым элементом-потомком «вытаскиванием», поэтому он просто отменит сразу же до того, как мышь доберется до края, вот почему я пошел с входом, флаг состояния на моем делегированном ответе, хотя я не большой поклонник флагов ... – dandavis

Смежные вопросы