English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
事件是Web应用程序可以检测到的操作。
jQuery提供了将事件处理程序附加到选择的简单方法。
发生事件时,将执行提供的函数。
以下是示例事件:
网页加载
点击一个元素
将鼠标移到元素上
提交HTML表格
键盘上的按键等
在jQuery中,大多数DOM事件具有等效的jQuery方法。
要将点击事件分配给页面上的所有段落,请执行以下操作:
$("p").click();
下一步是定义事件发生时应发生的情况。您必须将一个函数传递给事件:
$("p").click(function(){ // 需要执行的动作... });
此示例在单击页面时隐藏页面上的段落:
$("p").click(function(){ $(this).hide(); });测试看看‹/›
本示例将一个“changeSize”函数附加到click事件:
$(document).ready(function(){ $("p").click(changeSize); }); function changeSize() { $(this).animate({fontSize: "+=5px"}); }测试看看‹/›
$(document).ready()
jQuery $(document).ready()方法指定在DOM完全加载时要执行的函数。
以下示例在加载DOM时显示一条消息:
$(document).ready(function(){ $("p").text("现在已经加载了DOM,可以对其进行操作."); });测试看看‹/›
click()
jQuery click()Fügt den Ereignisbehandlingsfunktion auf den ausgewählten Element hinzu.
Wenn der Benutzer auf das Element klickt, wird diese Funktion ausgeführt:
$("p").click(function(){ $(this).css({"background-color":"#007FFF", "color":"white"}); });测试看看‹/›
mouseenter()
jQuery mouseenter()Fügt den Ereignisbehandlingsfunktion auf den ausgewählten Element hinzu.
Wenn der Mauszeiger in das Element eintritt, wird diese Funktion ausgeführt:
$("p").mouseenter(function(){ $("this").css("background-color", "yellow"); });测试看看‹/›
mouseleave()
jQuery mouseleave()Fügt den Ereignisbehandlingsfunktion auf den ausgewählten Element hinzu.
Wenn der Mauszeiger den Element verlässt, wird diese Funktion ausgeführt:
$("p").mouseleave(function(){ $("this").css("background-color", "lightblue"); });测试看看‹/›
mousedown()
jQuery mousedown()Fügt den Ereignisbehandlingsfunktion auf den ausgewählten Element hinzu.
Wenn der Benutzer die Maustaste auf dem Element drückt, wird diese Funktion ausgeführt:
$("p").mousedown(function(){ $(this).after("<p style='color:red;'>Drücken Sie die Maustaste</p>"); });测试看看‹/›
mouseup()
jQuery mouseup()Fügt den Ereignisbehandlingsfunktion auf den ausgewählten Element hinzu.
Wenn Sie die Maustaste auf dem Element loslassen, wird diese Funktion ausgeführt:
$("p").mouseup(function(){ $(this).after("<p style='color:green;'>Lösen Sie die Maustaste</p>"); });测试看看‹/›
keydown()
jQuery keydown()Fügt den Ereignisbehandlingsfunktion auf den ausgewählten Element hinzu.
Wenn der Benutzer eine Taste auf der Tastatur drückt, wird diese Funktion ausgeführt:
$("input").keydown(function(event){ $("this").css("background-color", "yellow"); $("span").text(event.type); });测试看看‹/›
keyup()
jQuery keyup()Fügt den Ereignisbehandlingsfunktion auf den ausgewählten Element hinzu.
Wenn der Benutzer eine Taste auf der Tastatur löst, wird diese Funktion ausgeführt:
$("input").keyup(function(event){ $("this").css("background-color", "lightblue"); $("span").text(event.type); });测试看看‹/›
hover()
jQuery hover()Methoden haben zwei Funktionen und sindmouseenter()undmouseleave()Kombination der Methoden.
Der folgende Beispiel ändert die Farbe, wenn der Mauszeiger über der Oberfläche hängt.<p>Die Hintergrundfarbe des Elements:
$("p").hover(function(){ $("this").css("background-color", "yellow"); }, function(){ $("this").css("background-color", "lightblue"); });测试看看‹/›
jQuery bieteton()Eine Methode, um auf jedes Ereignis auf dem ausgewählten Element zu reagieren.
Verwendenon()Methoden hinzu, wir können einen oder mehrere Ereignisbehandler für den ausgewählten Element hinzufügen.
Der folgende Beispiel fügt den click-Ereignis auf alle<p>元素:
$("p").on("click", function(){ $("this").css("background-color", "coral"); });测试看看‹/›
下面的示例将mouseenter事件附加到所有<p>元素:
$("p").on("mouseenter", function(){ $("this").css("background-color", "coral"); });测试看看‹/›
以下示例将多个事件处理程序附加到<div>元素:
$("div").on("mouseenter mouseleave click", function(){ $("this").text(Math.random()); });测试看看‹/›
jQuery off() 方法删除该on()方法附带的一个或多个事件处理程序。
下面的示例从<div>元素中删除mousemove事件:
$("button").click(function(){ $("div").off("mousemove"); });测试看看‹/›
jQuery的事件系统根据W3C标准标准化事件对象。
确保将事件对象传递给事件处理程序。
每个事件处理函数都会接收一个事件对象,其中包含许多属性和方法。
$("div").on("click", function(event){ alert("Event type is " + event.type); alert("Target : " + event.target.innerHTML); });测试看看‹/›
下表显示了所有事件对象的方法和属性:
方法/属性 | 描述 |
---|---|
event.currentTarget | 事件冒泡阶段中的当前DOM元素 |
event.data | 包含绑定当前执行处理程序时传递给事件方法的可选数据 |
event.delegateTarget | 返回附加当前调用的jQuery事件处理程序的元素 |
event.isDefaultPrevented() | 返回是否event.preventDefault()为事件对象调用 |
event.isImmediatePropagationStopped() | 返回是否event.stopImmediatePropagation()为事件对象调用 |
event.isPropagationStopped() | 返回是否event.stopPropagation()为事件对象调用 |
event.metakey | 表示事件触发时是否按下了META键 |
event.namespace | 返回触发事件时指定的名称空间 |
event.pageX | 返回鼠标相对于文档左边缘的位置 |
event.pageY | 返回相对于文档顶部边缘的鼠标位置 |
event.preventDefault() | Verhindern Sie, dass der Browser die Standardaktion des ausgewählten Elements ausführt |
event.relatedTarget | Rückgabe des Elements, das beim Bewegen der Maus eingefügt oder entfernt wird |
event.result | Enthält den letzten Wert, der von dem durch das angegebene Ereignis ausgelösten Ereignisverarbeitungsprogramm zurückgegeben wurde/Vorheriger Wert |
event.stopImmediatePropagation() | Verhindern Sie, dass andere Ereignisverarbeitungsprogramme aufgerufen werden |
event.stopPropagation() | Verhindern Sie, dass das Ereignis das DOM-Baumblubbern verursacht und dass alle übergeordneten Verarbeitungsfunktionen benachrichtigt werden |
event.target | Rückgabe des DOM-Elements, das das Ereignis ausgelöst hat |
event.timeStamp | Rückgabe der Zeit des Ereignisses (in Millisekunden seit der Epoche) |
event.type | Rückgabe des ausgelösten Ereignistyps |
event.which | Rückgabe der gedrückten Tastaturtaste oder Maustaste des Ereignisses |
Für eine vollständige Ereignisreferenz besuchen Sie bitte unserejQuery Ereignisse Referenzhandbuch.