« Обратно к странице событий
triggerHandler( событие, [данные] )
Вызывает все связанные с элементом обработчики (для указанного типа события) БЕЗ выполнения действия браузера по умолчанию, передачи события или «живых» событий.
Этот метод ведет себя подобно trigger, но есть два главных отличия:
Во-первых, не вызывается действие браузера по умолчанию, вызванное событие не передается и «живые» события также не вызываются.
Во-вторых, событие вызывается только лишь на первом элементе коллекции jQuery. Этот метод возвращает значение вызванного обработчика вместо объекта jQuery. Также, если коллекция jQuery пуста, то возвращается ‘undefined’.
Аргументы:
| событие |
Строка,Событие,Объект |
|
| Вызываемый тип события. |
| данные (необязательно) |
Массив |
|
| Дополнительная информация. |
Примеры:
| Name |
Type |
Если Вы вызвали .triggerHandler() на событии focus, то действие браузера по умолчанию по этому событию не будет вызвано, только обработчик события привязанный к событию focus.
$("#old").click(function(){
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){
$("<span>Focused!</span>").appendTo("body").fadeOut(1000);
});
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$("#old").click(function(){
$("input").trigger("focus");
});
$("#new").click(function(){
$("input").triggerHandler("focus");
});
$("input").focus(function(){
$("<span>Focused!</span>").appendTo("body").fadeOut(1000);
});
});
</script>
</head>
<body>
<button id="old">.trigger("focus")</button>
<button id="new">.triggerHandler("focus")</button><br/><br/>
<input type="text" value="To Be Focused"/>
</body>
</html>