jQ live用法
我们给元素绑定单击事件。用得最多的都是$("#id").click(function(){});
但我们动态添加的元素。这样绑定是不行的。必须借助live $("#id").live("click",function(){})
这是一个鼠标移入和移除事件。
$("#tabs li").hover(function () {
$(this).addClass("ui-state-hover");
}, function () {
$(this).removeClass(" ui-state-hover");
});
用live我们可以这样写
//绑定鼠标移入 移除事件
$("#sortable li").live({ mouseenter: function () {
}, mouseleave: function () {
}
});
如果你的代码没错。可就是不执行。那你要考虑你的脚本不支持。我试过1.4.1的就不支持。最后换成了。1.7.1
不过:live方法是旧版本的jquery才有(jquery1.9以前),on方法只能使用在页面上已有的标签;
想获取未来元素,只能用delegate方法了,具体写法如下:
比如:给动态添加的input添加click事件

可以这样写:
写法1:
$("body").delegate("#ck", "click", function () {
alert("delegate");
});
写法2:
$("#show").delegate("#ck", "click", function () {
alert("delegate");
});
写法3:
$("#show").delegate("input", "click", function () {
alert("delegate");
});
当然。也可以绑定多个事件,用委托链
$("#show").delegate("input", "mouseenter", function () {
alert("进入");
}).delegate("input", "mouseout", function () {
alert("离开");
});
或者用官方文档提示:
$(selector).delegate(childSelector,event,data,function)event 规定附加到元素的一个或多个事件。由空格分隔多个事件值。必须是有效的事件。
$("#show").delegate("#ck", {
"mouseenter": function () {
alert("进入");
}, "mouseout": function () {
alert("离开");
}
});
自定义事件
$("#show").delegate("#ck", "myCustom", function (a,arg1) {
alert("自定义事件" + arg1);
});
$("#btn").click(function () {
$("#show").html("<input type='button' name='name' value='动态添加的input' id='ck' />");
});
$("#btn2").click(function () {
$("#ck").trigger("myCustom",); //触发事件
});
有绑定事件。那么肯定有一个解绑事件:undelegate 是解绑事件
//单个
$("#add").click(function () {
$("body").delegate("#shows","click", showA);
});
$("#remove").click(function () {
$("body").undelegate("#shows", "click", showA);
}); //多个
$("#add").click(function () {
$("body").delegate("#shows", {
"click": showA,
"mouseout": showB
});
});
$("#remove").click(function () {
$("body").undelegate("#shows", {
"click": showA,
"mouseout": showB
});
}); function showA()
{
alert("delegate1");
}
function showB()
{
alert("delegate2");
}
<input type="button" name="name" value="添加事件" id="add" />
<input type="button" name="name" value="解绑事件" id="remove" />
<input type="button" name="name" value="显示事件" id="shows" />
不过这样。你单击2次 “添加事件”则会添加两次showA ,单击100次就添加100次。为了解决重复添加事件
在添加事件前。先取消(我还没有找到更好的方法)
//单个
$("#add").click(function (e) {
$("body").undelegate("#shows", "click", showA); //绑定前先取消绑定事件
$("body").delegate("#shows", "click", showA);
});
$("#remove").click(function () {
$("body").undelegate("#shows", "click", showA);
});
jQ live用法的更多相关文章
- jq命令用法总结
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 如果说要给Linux文本三剑客(grep.sed.awk)添加一员的话,我觉得应该是jq命令,因为jq命令是用来处 ...
- jq 部分用法
这几天一直在写前台,因为jq是在客服端处理数据的,所以公司,一般都用这种方法,下面是我这几天用到的一些东西 1.修改table表格的第一轮显示值 function changeTableRowValu ...
- jq each 用法以及js与json互转
$(function(){ var json = '[{"id":"1","tagName":"apple"},{&qu ...
- jQ $.extend用法
$.extend()函数 1.用将一个对象或多个对象的内容合并到目标对象, 2.如果多个对象具有相同的属性,则后者覆盖前者的属性值. 例子: var object1={ apple:1, banana ...
- JQ初学总结一
Jquery是最火的JavaScript库,大部分web开发都会用到就jquery,而作为初学者看了一些jq的用法总结自己的学习以增强自己的认知. 普通的javascript的缺点是:每种控件的操作方 ...
- 一周学会Mootools 1.4中文教程:(1)Dom选择器
利器: 君欲善其事须先利其器,好吧因为我们的时间比较紧迫,只有六天而已,那么六天的时间用死记硬背的方式学会Mt犹如天方夜谭,因此我们需要借鉴一下Editplus的素材栏帮我们记忆就好了,当我们需要用到 ...
- kissy小记
<script> KISSY.add('demo',function(S ,require, exports, module){ var Node = require('node'); v ...
- selenium span[contains]中使用变量
province = '湖南' driver.find_element_by_xpath('//span[contains(text(),"'+province+'").click ...
- jq和js用法:入口写法
jq和js入口写法demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
随机推荐
- C# 泛型的简单讲解和应用
泛型 什么是泛型 泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能.泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法 ...
- sencha touch NavigationView 嵌套 TabPanel 的问题
在st2.1之中,在NavigationView视图之中在嵌套一个TabPanel会有以下问题 下面我们监控TabPanel的activate事件和activeitemchange事件 会发现当首页加 ...
- 兵器簿之Alcatraz(插件管理神器)的配置和使用
Alcatraz是一款开源框架,帮助我们管理和安装Xcode需要的一些插件,很赞,安装也很简单: 终端输入: curl -fsSL https://raw.githubusercontent.com/ ...
- 9.12 Django路由
2018-9-12 12:14:29 路由就是根据具体业务需求写的! 有的业务多,路由多,然后就需要细化 然后根据需求该! 怎么方便怎么来! 越努力,越幸运! 贴上笔记! 路由url根据需要可用修改, ...
- HTTP协议的前世今生——各版本HTTP协议对比
HTTP协议是如今互联网与服务端技术的基石,HTTP协议的演进也从侧面反应了互联网技术的快速发展.这两天在准备一次关于HTTP1.1协议特性的技术分享过程中,顺便了解了下各版本HTTP协议的特点,在这 ...
- ASP.NET Web配置指南
利用ASP.NET,可以指定影响服务器上所有的Web应用程序.仅影响单个的应用程序.影响个别页面.或影响Web应用程序中的个别文件夹的配置设置.可以对编译器选项.调试.用户身份验证.错误消息显示.连接 ...
- 1.3tf的varible\labelencoder
1.tf的varible变量 import tensorflow as tf #定义变量--这里是计数的变量 state=tf.Variable(0,name='counter') print (st ...
- UVA 11168 - Airport - [凸包基础题]
题目链接:https://cn.vjudge.net/problem/UVA-11168 题意: 给出平面上的n个点,求一条直线,使得所有的点在该直线的同一侧(可以在该直线上),并且所有点到该直线的距 ...
- Kettle 4.2源码分析第一讲--Kettle 简介
Pentaho Data Integration(PDI)简介 1. PDI结构简介 图 1‑1 PDI核心组件 Spoon是构建ETL Jobs和Transformations的工具.Spoon可以 ...
- 【紫书】Tree UVA - 548 静态建树dfs
题意:给你中序后序 求某叶子节点使得从根到该节点权值和最小.若存在多个,输出其权值最小的那个. 题解:先建树,然后暴力dfs/bfs所有路径,取min 技巧:递归传参数,l1,r1,l2,r2, su ...