Heim > Web-Frontend > js-Tutorial > Hauptteil

Tutorial zur Verwendung der jQuery.trigger()-Funktion

巴扎黑
Freigeben: 2017-06-25 11:18:09
Original
1334 Leute haben es durchsucht

Die Funktion

trigger() wird verwendet, um ein Ereignis des angegebenen Typs für jedes passende Element auszulösen.

Darüber hinaus können Sie beim Auslösen des Ereignisses zusätzliche Parameter an die Funktion Ereignisbehandlung übergeben.

Die Verwendung dieser Funktion kann manuell die Ausführung der an das Element gebundenen Ereignisverarbeitungsfunktion auslösen und löst auch die Ausführung des Standardverhaltens des Elements aus.

Am Beispiel des Formularelements

kann die Verwendung von trigger("submit") das an das Formular gebundene Submit-Ereignis auslösen und auch das Standardverhalten des Formular-Submit-Ereignisses ausführen – die Formularübermittlung Betrieb.

Laut dem Feedback von Netizen @Feiyang ist der Auslöser („Klick“) des Link-Tags ein Sonderfall und löst nicht das Standardverhalten des Link-Klick-Ereignisses aus – springen Sie zum Vorgang Klicken Sie neben dem entsprechenden Link auf „Zugehörige Details hier anzeigen“.

Ab jQuery 1.3 unterstützen Ereignisse, die durch die Funktion trigger() ausgelöst werden, auch das Ereignis-Bubbling, das gesprudelt und an den DOM-Baum übergeben werden kann.

Diese Funktion gehört zum jQuery-Objekt (Instanz).

Syntax

trigger()-Funktion hat hauptsächlich die folgenden zwei Verwendungsformen:

Verwendung 1:

jQueryObject.trigger( events [, extraArguments ] )

Löst Ereignisse des angegebenen Typs (Ereignisse) für jedes übereinstimmende Element aus und kann zusätzliche Parameter (extraArguments) an die Ereignishandlerfunktion übergeben.

Verwendung 2: jQuery 1.3 unterstützt diese Verwendung neu.

jQueryObject.trigger( eventObject [, extraArguments ] )

ist das von der angegebenen Ereignisverarbeitungsfunktion übergebene Ereignisobjekt (eventObject), das zum Auslösen der Ausführung der entsprechenden Ereignisverarbeitung verwendet wird Funktion und kann für Ereignisse verwendet werden. Die Verarbeitungsfunktion übergibt zusätzliche Parameter (extraArguments).

Parameter

Parameterbeschreibung

events String-Typ gibt den Ereignistyp und optionalen Namespace an, z. B. „click“, „focus“, „keydown“. .meinPlugin".

extraArguments Optional/Objekttyp sind die zusätzlichen Parameter, die von der Ereignisverarbeitungsfunktion übergeben werden. Wenn Sie mehrere Parameter übergeben möchten, übergeben Sie diese bitte als Array.

eventObject Der Objekttyp ist ein Ereignisobjekt, das zum Auslösen der an das Objekt übergebenen Ereignisverarbeitungsfunktion verwendet wird. Die Funktion

trigger() übergibt einen Standardparameter für die Ereignisverarbeitungsfunktion, die die Ausführung auslöst, nämlich das Ereignisobjekt, das das aktuelle Ereignis darstellt.

Der Parameter extraArguments wird verwendet, um weitere zusätzliche Parameter an die Event-Handling-Funktion zu übergeben. Wenn extraArguments in Array-Form vorliegen, dient jedes Element als Parameter für die Funktion .

Rückgabewert

trigger()Der Rückgabewert der Funktion ist vom Typ jQuery und gibt das aktuelle jQuery-Objekt selbst zurück.

Beispiel und Beschreibung

Bitte beziehen Sie sich auf den folgenden anfänglichen HTML-Code:

<input id="btn1" type="button" value="点击1" />
<input id="btn2" type="button" value="点击2" />
<a id="a1" href="#">CodePlayer</a>
<div id="log"></div>
Nach dem Login kopieren

Zuerst binden wir Ereignisse an die obige Schaltfläche und Dann verwenden Sie die Funktion trigger(), um Ereignisse direkt auszulösen. Der entsprechende Code lautet wie folgt:

var $log = $("#log");
function handler( event, arg1, arg2 ){
    var html = &#39;<br>触发元素#&#39; + this.id + &#39;的[&#39; + event.type +&#39;]事件,额外的函数参数为:&#39; + arg1 + &#39;, &#39; + arg2;
    $log.append( html );
}
var $buttons = $(":button");
// 为所有button元素的click事件绑定事件处理函数
$buttons.bind( "click", handler );
// 为所有a元素的click、mouseover、mouseleave事件绑定事件处理函数
$("a").bind( "click mouseover mouseleave", handler );
// 触发所有button的click事件
$buttons.trigger("click"); 
/*(追加文本)
触发元素#btn1的[click]事件,额外的函数参数为:undefined, undefined
触发元素#btn2的[click]事件,额外的函数参数为:undefined, undefined
*/
$("#btn1").trigger("click", "CodePlayer");
/*(追加文本)
触发元素#btn1的[click]事件,额外的函数参数为:CodePlayer, undefined
*/
// arg1 = "张三", arg2 = 20
$("a").trigger("mouseover", ["张三", 20 ] );
/*(追加文本)
触发元素#a1的[mouseover]事件,额外的函数参数为:张三, 20
*/
$("a").trigger("mouseleave", { name: "张三", age: 18 } );
/*(追加文本)
触发元素#a1的[mouseleave]事件,额外的函数参数为:[object Object], undefined
*/
trigger()函数还可以根据传入事件处理函数的Event对象,来触发对应的事件。
var $btn1 = $("#btn1");
// 为btn1元素的click事件绑定事件处理函数
$btn1.bind( "click", function(event){
    alert("click1");    
});
// 为btn1元素的click事件绑定事件处理函数
// 如果传入了一个有效的额外参数,则再次触发click
$btn1.bind( "click", function(event, arg1){
    alert("click2");
    if(arg1)
        $(this).trigger( event );
});
// $btn1.trigger( "click" ); // 调用一次click1、调用一次click2
$btn1.trigger( "click", true ); // 调用两次click1、调用两次click2

Darüber hinaus kann die Funktion trigger() auch nur Ereignisse auslösen, die einen angegebenen Namespace enthalten (Namespaces sind nur). unterstützt in 1.4.3+).

Das obige ist der detaillierte Inhalt vonTutorial zur Verwendung der jQuery.trigger()-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!