Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >jQuery on()方法

jQuery on()方法

作者头像
陈灬大灬海
发布于 2019-03-11 03:57:50
发布于 2019-03-11 03:57:50
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

绑定click事件,使用jquery的$().click(func)?别闹了,属实是low。

虽然之前在ajax回调成功后通过dom添加过元素,遇到过这种情况,事件绑定会失效。今天又遇到了,在此总结下。

jQuery on()方法是官方推荐的绑定事件的一个方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(selector).on(event,childSelector,data,function,map)

$().click()和$(document).on('click','要选择的元素',function(){})的

最大的区别即优点是如果动态创建的元素在该选择器选中范围内是能触发回调函数。

$().on()的知识点补充:   1.从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind()、 delegate()、 live()等事件函数。 $().bind()直接绑定在元素上,和click,blur,mouseon一样的点击事件。 $().live()是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。 $().delegate()是更精确的小范围的使用事件代理。 $().on()结合了这三个方法的优势摒弃了劣势。

  2.该函数可以为同一元素、同一事件类型绑定多个事件处理函数。触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。   3. 阻止事件冒泡和事件委托的方法:     A:return false。  在事件的处理中,可以阻止默认事件和冒泡事件。

    B:event.preventDefault()       在事件的处理中,可以阻止默认事件但是允许冒泡事件的发生。

    C:event.stopPropagation().。       在事件的处理中,可以阻止冒泡但是允许默认事件的发生。

jQuery on()扩展开来的几个以前常见的方法有.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bind()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  $("p").bind("click",function(){
    alert("The paragraph was clicked.");
  });

  $("p").on("click",function(){
    alert("The paragraph was clicked.");
  });
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
delegate()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  $("#div1").on("click","p",function(){
    $(this).css("background-color","pink");
  });

  $("#div2").delegate("p","click",function(){
    $(this).css("background-color","pink");
  });
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
live()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  $("#div1").on("click",function(){
    $(this).css("background-color","pink");
  });

  $("#div2").live("click",function(){
    $(this).css("background-color","pink");
  });

以上三种方法在jQuery1.8之后都不推荐使用,官方在1.9时已经取消使用live()方法了,所以建议都使用on()方法。

tip:如果你需要移除on()所绑定的方法,可以使用off()方法处理。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
  $("p").on("click",function(){
    $(this).css("background-color","pink");
  });
  $("button").click(function(){
    $("p").off("click");
  });
});

tip:如果你的事件只需要一次的操作,可以使用one()这个方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
  $("p").one("click",function(){
    $(this).animate({fontSize:"+=6px"});
  });
});

trigger()绑定

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(selector).trigger(event,eventObj,param1,param2,...)
$(document).ready(function(){
  $("input").select(function(){
    $("input").after(" Text marked!");
  });
  $("button").click(function(){
    $("input").trigger("select");
  });
});

多个事件绑定同一个函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
  $("p").on("mouseover mouseout",function(){
    $("p").toggleClass("intro");
  });
});

多个事件绑定不同函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
  $("p").on({
    mouseover:function(){$("body").css("background-color","lightgray");},  
    mouseout:function(){$("body").css("background-color","lightblue");}, 
    click:function(){$("body").css("background-color","yellow");}  
  });
});

绑定自定义事件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
  $("p").on("myOwnEvent", function(event, showName){
    $(this).text(showName + "! What a beautiful name!").show();
  });
  $("button").click(function(){
    $("p").trigger("myOwnEvent",["Anja"]);
  });
});

传递数据到函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function handlerName(event) 
{
  alert(event.data.msg);
}

$(document).ready(function(){
  $("p").on("click", {msg: "You just clicked me!"}, handlerName)
});

适用于未创建的元素

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
  $("div").on("click","p",function(){
    $(this).slideToggle();
  });
  $("button").click(function(){
    $("<p>This is a new paragraph.</p>").insertAfter("button");
  });
});

项目经理是这么说的,还在用.click,你这样面试是会被刷下去的。。。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-02-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python调用外部命令的四种方式
python提供了几种调用shell的命令,但是每个命令的功能不同,需要详细了解下,才可以比较方便的来应对不同的需求。
陈晨135
2022/01/06
9680
python调用外部命令的四种方式
Python调用Shell命令–总有一款适合你
#!/usr/bin/python # -*- coding: utf-8 -*- import os import commands import subprocess # content = os.system('ls -al') #执行结果 0或者1 # print '结果:%s' % content # content = os.popen('ls -al').read() # print '###结果:%s' % content # content = os.popen('ls -al').re
苦咖啡
2018/04/28
8020
Python调用shell命令常用方法
方法一、使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256表示未找到,该方法适用于shell命令不需要输出内容的场景。
用户7639835
2021/08/26
1K0
python执行系统命令的方法
    做为系统工程师来说,经常会用到python脚本去调用一下系统命令,现把经常使用的集中调用方法总结如下:
py3study
2020/01/07
3.9K0
python之路day5
铺垫: 1、os模块 os模块中的system,使用os.system("dir")可直接输出结果,如果将os.system("dir")赋值给一个变量,则这个变量接收的是这个命令执行成功与否,如果非0则执行不成功,0表示执行成功。 a=os.popen("dir").read()会保存命令输出结果,并赋值给a,此时print(a)就可以输出到屏幕 2、commands模块:只使用于linux
py3study
2020/01/09
6480
讲讲如何让shell执行python命令的两种实用方法
commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态;
菜鸟站长之家
2021/02/06
9170
Python中执行系统命令常见的几种方法
   这个方法是直接调用标准C的system() 函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息。
一朵灼灼华
2022/08/05
4690
python之commands模块(执行
用于执行Linux shell命令,要获得shell命令的输出只需要在后面参数写入('命令')就可以了。
py3study
2020/01/09
1.6K0
Python执行系统命令四种方法分类目录文章标签友情链接联系我们
一、os.system方法 os.system(cmd) 在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态 >>> import os >>> os.system('date')
用户1246209
2018/06/27
6380
Python模块学习:subprocess模块详解
subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码。这个模块的目的在于替换几个旧的模块和方法,如:
Python学习者
2023/08/26
1.5K0
Python 运用zabbix开发简易巡检工具
利用SSH或者Zabbix监控,配合Django开发框架,改造出属于自己的监控平台,实现包括主机图形,自动发现,计划任务,批量cmd执行,服务监控,日志监控等功能,由于公司机器混乱,基本上市面上的所有设备都能找到,监控这些不同型号不同系统的主机需要分别对待,我们就借助各种开源项目来做一个简单的巡检工具,方便工作需要。
王瑞MVP
2022/12/28
1.6K0
Python 运用zabbix开发简易巡检工具
Python 执行Shell 外部命令
1、os.system() 此方法执行的外部程序,会将结果直接输出到标准输出。os.system的返回结果为执行shell 的 $? 值。 因此请执行没有输出结果的程序时适合使用此方法。如touch
py3study
2020/01/07
1.3K0
python中执行DOS命令的3种方法小
现在大部分人都喜欢使用Popen。Popen方法不会打印出cmd在linux上执行的信息。的确,Popen非常强大,支持多种参数和模式。使用前需要from subprocess import Popen, PIPE。但是Popen函数有一个缺陷,就是它是一个阻塞的方法。如果运行cmd时产生的内容非常多,函数非常容易阻塞住。解决办法是不使用wait()方法,但是也不能获得执行的返回值了。
py3study
2020/01/09
2.3K0
Python 执行系统命令
Python 编程过程中经常会用到系统命令,本文记录实现方法。 系统命令 作为胶水语言,Python可以很方便的执行系统命令,Python3中常用的执行操作系统命令有以下方式 os.system() os.popen() subprocess 模块 os.system 执行命令但无法获取取命令输出时,可以使用 os.system os.system() 是C语言 system() 函数的封装,返回命令的退出状态码,命令执行结果输出到标准输出(stdout/窗口)。 system函数可以将
为为为什么
2022/08/10
1.8K0
使用 python 执行 shell 命令的几种常用方式
在使用 Python 编写自动化脚本的时候,难免会需要执行一些基本的 shell 命令,而 Python 执行 shell 命令的方式有好几种,如果根据需要选择最适合的方式显得非常重要,这篇文章就来总结和对比一下几种常见的 Python 运行 shell 命令的方式。
Hopetree
2022/09/26
3.3K0
python中执行shell命令的几个方
最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 代码如下:
py3study
2020/01/06
3.1K0
用Python写Shell脚本
os.system函数与系统编程中的exec族函数调用一致,创建出子进程后代码段由外部程序替换,不会返回外部程序运行结果。
菜菜cc
2022/11/15
1.5K0
Python模块之subprocess用法实例详解
subprocess最早在2.4版本引入。用来生成子进程,并可以通过管道连接他们的输入/输出/错误,以及获得他们的返回值。
菲宇
2019/06/13
26.7K0
Python调用Shell命令
前言:在python程序里面难免会用到shell命令,在python调用shell脚本也不是很难,记录了一下! ****通过os模块**** system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果 #os-One #只返回结果 os.system(command) sample import os print os.system("service apache2 status") ---- popen方不仅仅返回结果,还返回一个类文件对象,通过调用该对象的read()或readlines
AlicFeng
2018/06/08
1.4K0
python之系统命令
以上执行shell命令的相关的模块和函数的功能均在 subprocess 模块中实现,并提供了更丰富的功能。
菲宇
2019/06/13
1.1K0
相关推荐
python调用外部命令的四种方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验