jQuery绑定Dom元素操作事件方法

  • 1.常见的$(DOM元素).click(function(){});
  • 2.通过bind()方法。(不推荐,已经被on()方法替代了)
  • 3.通过delegate()方法。相对bind()方法来说可以动态绑定元素。
  • 4.通过on()方法。语法和delegate有点不同。(推荐)
  • 这个是菜鸟教程的在线编辑器地址:https://www.runoob.com/try/try.php?filename=tryjs_events
  • 扩展:


1.常见的$(DOM元素).click(function(){});

DOM元素可以通过id、class、标签获取
通过标签名获取,获取button的DOM对象。

$("button").click(function(){
    $("body").append("<p>标签</p>")
  });

点击按钮,页面出现标签。

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_前端


通过标签的id属性获取DOM对象

$("#text").click(function(){
    $("body").append("<p>id</p>")
  });

点击按钮,页面会出现标签、id。因为同一个标签可以绑定多个点击触发事件,

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_a标签绑定jquery 函数_02


调换触发顺序,页面显示的顺序也不一样。同时可以通过禁止后面的点击事件触发,从而不显示标签。

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_jquery_03


不过语法得变一下,因为这三个button不存在子父级关系。

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_jquery_04


通过class属性获取DOM对象。

$(".text").click(function(){
    $("body").append("<p>class</p>");
  });

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_javascript_05

2.通过bind()方法。(不推荐,已经被on()方法替代了)

语法为:$(selector).bind(event,data,function(){}),其中event可以绑定多个事件,使用空格隔开。缺点:不可以选择还未生成的DOM元素进行绑定事件,不可以选择子元素。

event:必需。规定附加到元素的一个或多个事件。由空格分隔多个事件值。必须是有效的事件。
data:可选。规定传递到函数的额外数据。
function:必需。规定当事件发生时运行的函数。

<script type="text/javascript">
$(document).ready(function(){
  $("button").bind("click mouseenter",{ "name" : "xxx","age" : 18},function(event){
  	alert(event.data.name);
    alert(event.data.age);
    $("p").css("background-color","yellow");
  });
});
</script>

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_a标签绑定jquery 函数_06

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_前端_07

3.通过delegate()方法。相对bind()方法来说可以动态绑定元素。

语法:$(selector).delegate(childSelector,event,data,function)
childSelector:必需。规定要附加事件处理程序的一个或多个子元素。
event:必需。规定附加到元素的一个或多个事件。由空格分隔多个事件值。必须是有效的事件。
data:可选。规定传递到函数的额外数据。
function:必需。规定当事件发生时运行的函数。

<script type="text/javascript">
$(document).ready(function(){
  $("div").delegate("button","click",function(){
  	$("div").append("<p>这是一个段落。</p>")
  });
  $("div").delegate("p","click",function(){
  	alert("动态绑定")
  });
});
</script>

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_jquery_08

4.通过on()方法。语法和delegate有点不同。(推荐)

语法:$(selector).on(event,childSelector,data,function)
event:必需。规定附加到元素的一个或多个事件。由空格分隔多个事件值。必须是有效的事件。
childSelector:必需。规定要附加事件处理程序的一个或多个子元素。
data:可选。规定传递到函数的额外数据。
function:必需。规定当事件发生时运行的函数。

<script>
$(document).ready(function(){
  $("div").on("click","button",{"name": "xxx","age": 18 },function(event){
  	$("div").append("<p>这是一个段落。</p>");
    $("div").append(event.data.name);
    $("div").append(event.data.age);
  });
  $("div").on("p","click",function(){
  	alert("动态绑定")
  });
});
</script>

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_js_09


a标签绑定jquery 函数 jquery怎么绑定标签点击事件_js_10

这个是菜鸟教程的在线编辑器地址:https://www.runoob.com/try/try.php?filename=tryjs_events

大家可以自行尝试。

扩展:

当第一个点击事件触发后,禁止后面的点击事件。(标签必须有子父级关系)

语法:event.stopPropagation()

打开注释,就只弹出span。

a标签绑定jquery 函数 jquery怎么绑定标签点击事件_前端_11