English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

jQuery Ereignismethoden

事件是Web应用程序可以检测到的操作。

jQuery提供了将事件处理程序附加到选择的简单方法。

发生事件时,将执行提供的函数。

以下是示例事件:

  • 网页加载

  • 点击一个元素

  • 将鼠标移到元素上

  • 提交HTML表格

  • 键盘上的按键等

事件方法的jQuery语法

在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"});
}
测试看看‹/›

常用的jQuery事件方法

$(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");
});
测试看看‹/›

on() Methode

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());
});
测试看看‹/›

off()方法

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.relatedTargetRückgabe des Elements, das beim Bewegen der Maus eingefügt oder entfernt wird
event.resultEnthä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.targetRückgabe des DOM-Elements, das das Ereignis ausgelöst hat
event.timeStampRückgabe der Zeit des Ereignisses (in Millisekunden seit der Epoche)
event.typeRückgabe des ausgelösten Ereignistyps
event.whichRückgabe der gedrückten Tastaturtaste oder Maustaste des Ereignisses

jQuery Ereignisreferenz

Für eine vollständige Ereignisreferenz besuchen Sie bitte unserejQuery Ereignisse Referenzhandbuch.