相关文章推荐

采用JQuery技术先获取页面元素,然后再在后面追加元素的时候(append),在下面用 $(selector) 获取刚刚添加的标签,发现怎么都获取不到。

之所以这样原因是因为页面已经将JS加载完毕,此时新增请求动态添加节点,自然获取不到。

动态添加的标签要事件委托才能获取到节点,具体解决办法:

  • 通过on绑定事件(注意使用on绑定事件时,hover无效,因为on的参数只能传一个函数)
  • live绑定:
  • delegate绑定:

语法:
$(selector1).on(events,[selector2],[data],fn)

参数 描述
events 一个或多个用空格分隔的事件类型和可选的命名空间
selector2 可选。一个选择器字符串,用以过滤选定的元素,该选择器的后裔元素将调用处理程序。如果选择是空或被忽略,当它到达选定的元素,事件总是触发。
data 可选。作为event.data属性值传递给事件对象的额外数据对象以供事件处理函数处理
fn 该事件被触发时执行的函数。 false值也可以做一个函数的简写,返回false
  • selector1 为动态添加节点的父级节点,请使用 非动态 添加的父级节点,不然同样获取不到。
  • 请委托给直接上级非动态添加节点,不要扩大范围,否则可能会造成一次点击多次执行情况!
<!DOCTYPE html>
<html lang="en">
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
        <div id="sth1"><button id="btn1">btn1</button></div>
        <div id="sth2"></div>
        <div id="sth3"></div>
        <script src="jquery/jquery-2.1.1.min.js"></script>
        <script type="text/javascript">
            $("#btn1").click(function () {//能正常触发事件
                alert("btn 111");
            });
            $(function () {
                $("#sth2").append('<button id="btn2">btn2</button>');
                $("#sth3").append('<button id="btn3">btn3</button>');
            });
            $("#btn2").click(function () {//不能正常触发事件
                alert("btn 222");
            });
            $("#sth3").on("click","#btn3",function () {//能正常触发事件
                alert("btn 333");
            });
        </script>
    </body>
</html>
                    说明采用JQuery技术先获取页面元素,然后再在后面追加元素的时候(append),在下面用 $(selector) 获取刚刚添加的标签,发现怎么都获取不到。之所以这样原因是因为页面已经将JS加载完毕,此时新增请求动态添加节点,自然获取不到。动态添加的标签要事件委托才能获取到节点,具体解决办法:通过on绑定事件(注意使用on绑定事件时,hover无效,因为on的参数只能传一个函数)li...
				
本文实例讲述了jQuery动态添加的元素绑定事件的方法。分享给大家供大家参考。具体分析如下: jquery绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态添加的元素绑定事件 在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况 <div id=testdiv> <ul></ul> 需要给<ul>里面动态添加的<li>标签添加click事件 jquery 1.7版以前使用live
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨设备、跨浏览器,充分向读者演示了如何使用jQuery的各项技术,实现令人激动的网页效果。 《超实用的jQuery代码段》从jQuery框架的使用原理与应用场景出发,对最实用的jQuery代码段进行了全方位的介绍和演示。全书分为11章,包含网页效果、DOM元素与属性、HTML事件、CSS样式、用户输入自动成、拖放、图形图像、AJAX、算法、jQuery Mobile应用、浏览器、Cookies等jQuery技术内容,对提高网站开发人员和设计人员的jQuery技术水平有指导作用。 超实用的jQuery代码段 目录: 序1 jQuery必知必会 VIII 序2 你绝对不可能全部做对的jQuery题 XVI 序3 最流行的前端面试题 XXIII 第1章 jQuery操作网页 1.1 显示或隐藏网页内容 1.2 切换页面的显示或隐藏 1.3 实现幻灯片式的淡入淡出效果 1.4 切换页面的淡入淡出 1.5 页面的滑动隐藏 1.6 切换页面的滑动 1.7 图片的动画效果 1.8 停止动画效果 1.9 不可不知的Callback回调 1.10 提高效率的链式(Chaining)操作 1.11 在新窗口中打开链接 1.12 强制在弹出窗口中打开链接 1.13 平滑滚动页面到某个锚点 1.14 阻止文本行换行 1.15 实现iframe高度自适应 1.16 实现左右div自适应相同高度 1.17 获取鼠标在屏幕中的坐标 1.18 获取鼠标在窗口客户区中的坐标 1.19 获取鼠标在窗口页面中的坐标 1.20 设置Flash对象的WMode窗口模式 1.21 实现类Twitter的字数限制效果 1.22 提示文本的隐藏与显示 1.23 实现文字闪烁效果 1.24 实现文字动画效果 1.25 实现文字跟随鼠标移动变化的动画效果 1.26 文本域中光标的定位 1.27 实现可折叠效果 1.28 文本框内容自动缩进 1.29 禁止页面滚动的方法 1.30 页面加载后消息框居中显示 1.31 创建页面固定浮动栏的方法 第2章 jQuery操作DOM元素 2.1 如何验证某个元素是否为空 2.2 检查特定的HTML元素是否存在 2.3 判断HTML元素是否嵌套 2.4 获取当前元素的索引值 2.5 插入节点元素 2.6 复制节点元素 2.7 替换节点元素 2.8 删除节点元素 2.9 为元素绑定事件 2.10 如何从元素中除去HTML标签 2.11 如何限制文本域中字符的个数 2.12 如何选中页面上的所有复选框 2.13 禁用表单的回车键提交 2.14 禁用右键单击上下文菜单 2.15 IE下禁用文本选择功能 2.16 输入框获取焦点时文本高亮提示 2.17 实现多个输入框同步操作 2.18 在新窗口中打开外部链接 2.19 jQuery实现outerHTML属性 2.20 实现带固定表头的表格 2.21 为表单内控件设定缺省数值和文本 2.22 防止单个页面重复提交按钮 2.23 取得列表控件选中的option对象 2.24 限制输入框仅接受特殊字符的输入 2.25 禁止页面内全部超链接 2.26 实现动态组合列表框 2.27 如何使用属性过滤器 2.28 如何测试某个元素是否可见 第3章 jQuery操作HTML事件 3.1 禁止或启用输入框 3.2 实时监听输入框字符的变化 3.3 实时监听输入框值的变化 3.4 绑定鼠标右键单击事件 3.5 双击不选中文本 3.6 通过单击事件添加或解除绑定 3.7 激活整个div层的单击事件 3.8 鼠标单击实现div的选取 3.9 模拟鼠标单击事件 3.10 设定时间间隔的方法 3.11 设定时间延迟的方法 3.12 延时显示子菜单的方法 3.13 通过事件获取页面加载时间 3.14 如何为动态添加的元素绑定事件处理函数 3.15 为表格行增加单击事件 3.16 用回车键模拟Tab键 第4章 jQuery操作CSS样式 4.1 使用addClass()函数动态添加样式类 4.2 使用removeClass()函数动态移除样式类 4.3 使用toggleClass()函数切换页面元素的样式类 4.4 为body增加class类支持 4.5 操作div的显示与隐藏 4.6 如何设定div始终居中显示 4.7 测试浏览器是否支持某些CSS 3属性 4.8 如何添加hover类到指定元素 4.9 基于URL地址为导航链接添加class样式 4.10 如何延迟添加class类 4.11 如何延迟清除class类 4.12 动态调整页面的字体大小 第5章 jQuery实现用户输入自动成功能 5.1 最简单的用户输入自动成 5.2 使用远程数据源的自动成 5.3 带缓存的自动成 5.4 带滚动条的自动成 5.5 Combobox风格的自动成 5.6 读取XML数据的自动成 5.7 多维数据的自动成 第6章 jQuery实现拖放功能 6.1 基本拖放功能 6.2 基于事件的拖放 6.3 限制移动范围的拖放 6.4 延迟进行的拖放 6.5 具有对齐功能的拖放 6.6 自动滚动的拖放 6.7 反转位置的拖放 6.8 使用事件监控拖曳次数 6.9 拖动时动态更改鼠标的光标类型和位置 6.10 拖曳并放置到目标容器 6.11 限制可放置的元素 6.12 实现可拖放的购物车 6.13 可排序的拖放 6.14 在多个列表之间进行拖放 6.15 使用拖动方式选择多个元素 6.16 在两个Tab标签之间进行元素拖动 6.17 拖动表格选择多行数据 6.18 拖动表格时自动选中复选框 6.19 拖动表格行并放置到目标位置 6.20 表格的拖动排序 6.21 拖动调整控件的大小 6.22 调整控件大小时设置调整约束 6.23 使用拖动的方式调整表格的宽度 6.24 设计可改变单元格宽度并可以多选的表格 第7章 jQuery操作图形图像 7.1 如何更好地处理图片法显示问题 7.2 如何显示图片直到页面加载成 7.3 预加载显示图片的方法 7.4 Facebook风格的图片预加载 7.5 检查图片src是否有效 7.6 上下滑动的图片 7.7 淡入淡出一幅图片,进入另一幅图片 7.8 获取图片原生尺寸的方法 7.9 检查图像是否已经被全加载 7.10 单击改变背景图案 7.11 如何显示Flickr网站的图片 7.12 如何显示Google Picasaweb的图片 7.13 按比例调整图片的大小 7.14 滑动效果的背景图片 7.15 动态表单生成图片预览 7.16 平滑滚动的导航菜单 7.17 图片的放大预览 7.18 实现平滑的图片动态缩放效果 7.19 自动适应的窗口背景 7.20 如何判断加载多张图片的成状态 7.21 鼠标悬停时的图片放大 7.22 淡出图片,淡入另一幅图片 7.23 页面加载时随机显示图片 7.24 按顺序淡入图片显示 7.25 检测图片的URL是否有效 7.26 强制显示图片的方法 7.27 实现可拖动显示的图片 第8章 jQuery实现AJAX 8.1 动态加载外部文件 8.2 动态加载外部网页 8.3 加载网页文件内容并传递服务器端参数 8.4 使用AJAX刷新删除网页记录 8.5 使用AJAX异步验证用户名和密码 8.6 页面滚动时加载新的网页内容 8.7 打造自己的站内搜索引擎 8.8 异步加载并解析XML文件 8.9 动态加载HTML内容到标签页中 8.10 使用AJAX刷新异步提交表单 8.11 使用AJAX刷新上传图片 8.12 使用AJAX刷新验证PHP会话是否有效 8.13 在AJAX异步调用时显示加载指示器 8.14 在AJAX异步调用时处理JSON数据 8.15 解析XML数据并加载到HTML表格 8.16 jQuery AJAX错误的处理方法 8.17 在页面级创建全局的AJAX监听器以及状态指示器 8.18 级联AJAX数据异步加载 8.19 取消AJAX异步请求 第9章 jQuery常用算法 9.1 jQuery遍历算法 9.2 jQuery祖先算法 9.3 jQuery后代算法 9.4 jQuery同胞算法 9.5 jQuery过滤算法 9.6 对一个列表进行排序 9.7 实现JSN对象数组的排序 9.8 将12343778转成12.343.778的形式 9.9 模拟抽奖程序 9.10 实现冒泡算法 9.11 查询数组中特定数值 9.12 从数组中移除特定数值 9.13 根据指定正则表达式识别超链接 9.14 验证Email地址的正确性 9.15 动态统计字符个数 9.16 使用jQuery验证用户年龄 9.17 按照首字母进行元素排序 9.18 获取URL地址的Hash参数 9.19 避免多行文本溢出的算法 9.20 随机选择一个元素 9.21 替换&bnsp;空字符的方法 9.22 序列化表单到JSON数据 9.23 获取页面加载时间 9.24 将单个句子打断显示 9.25 限制只能输入中文、英文或数字 9.26 日期类型与时间戳的转换 9.27 使用数组模拟打字效果 9.28 获取数组中特定索引的最高值 9.29 清除所有的表单内容 9.30 用jQuery删除空白标签和具有非中断空格的标签 第10章 jQuery Mobile移动开发技巧 10.1 让页面自适应屏幕宽度 10.2 在移动设备页面中创建多个显示视图 10.3 创建对话框显示效果 10.4 从外部文件中加载页面内容 10.5 为页面添加转场效果 10.6 设置全局默认的转场效果 10.7 定制显示回退按钮 10.8 在标题栏中添加导航栏 10.9 在页脚区域添加导航栏 10.10 添加可折叠的导航按钮 10.11 实现可折叠的输入表单 10.12 实现手风琴样式的折叠面板 10.13 使用网格打造简单的九宫格界面 10.14 可动态隐藏的页眉和页脚 10.15 最简单的手机相册 10.16 在列表框上添加气泡提示 10.17 在列表框上添加自定义按钮 10.18 为列表添加自定义的缩略图图标 10.19 创建列表日历的效果 10.20 动态创建listview列表项 10.21 动态加载和切换页面 10.22 在页面切换时显示加载进度框 10.23 在屏幕旋转时更改显示样式 10.24 在列表框中实现加载更多效果 10.25 自定义选择菜单 10.26 使用多个选择菜单进行组合选择 10.27 使用多选菜单选择多个值 10.28 创建双重范围的滑块 10.29 实现开关效果的选择功能 10.30 创建主题化的表单效果 第11章 其他常用代码段 11.1 判断jQuery库是否被加载 11.2 解决jQuery库冲突的方法 11.3 jQuery版本检查方法 11.4 解决jQuery版本冲突问题 11.5 如何设置IE特有的功能 11.6 判断浏览器类型并设置HTML元素内容 11.7 加载Google CDN的jQuery库 11.8 Cookies应用方法 11.9 使用cookie.js管理Cookies 11.10 让Cookies在N分钟后过期 11.11 如何删除Cookies 11.12 获取当前页面的URL并添加样式 11.13 向表格追加一行数据 11.14 获取客户端IP 11.15 向Firebug的控制面板发送消息 11.16 根据不同的屏幕大小显示不同的网页 11.17 jQuery遍历对象的属性 11.18 最优化的循环语句写法 11.19 如何构建最优化的字符串 11.20 使用jQuery产生GUID值 11.21 使用jQuery实现聚合函数 11.22 用jQuery打印网页的特定区域 11.23 禁止表单被提交 11.24 使用delay()延迟执行动画 11.25 在网页上运行本地程序的方法 11.26 动态过滤HTML表格中的内容 11.27 使用递归函数创建文字闪烁特效 11.28 使用ID选择器加快选择的速度 11.29 在类选择器前用标签选择器加快速度 11.30 缓存jQuery对象以提升性能 11.31 使用find()函数提升子查询的性能 11.32 使用jQuery操作DOM的限制
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-...
jquery:为动态加载的元素添加点击事件 jquery绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。 在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态添加的元素绑定事件。 在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况。 动态加载的代码如下:最外面的di...
一.bind()方法绑定事件 首先使用属性选择器获取input标签,然后调用bind方法,传入的第一个参数是要绑定事件名,第二个参数是事件所调用的函数,这里使用匿名函数作为第二个参数,代码和运行结果如下: <!DOCTYPE html> <meta charset="UTF-8"> <title&g...
1.新建一个文本文档,重命名为** .html **格式的文件(需要拓展文件属性名,请自行搜索)。 2.用Notepad++打开,然后就可以编码了。 3.编写毕后(记得在编译器保存),点击运行(推荐谷歌浏览器)打开。 二:html结构和语法: 在编辑器写什么?首先就是html结构,然后在结构里根据语法
不知道大家在写js的时候碰没碰到过这样一个问题:算了,还是直接上代码 就是有时我们使用querySelectAll(‘li’)只能获取html原有的li1,li2,li3标签,如果我们此时创建一个新的小li名为newLi并把它添加到div里面,querySelectAll(‘li’)就无法选取newLi。 因为 var li=document.querySelectorAll(‘li’); 把他放在第一行只能获取前三个,因为新的 小li还没有创建出来。 此时把 var li=document.
为了给 select 标签绑定切换事件,我们可以使用 jQuery事件绑定方法来实现。 首先,我们需要通过选择器获取到要绑定切换事件的 select 元素,这可以通过标签名或者类名来成。 接着,我们可以使用 jQuery 的 on 方法来绑定事件。on 方法允许我们指定事件类型和要执行的函数。 在这种情况下,我们要绑定事件是切换事件,即 select 元素的值发生改变时触发的事件。 假设我们有一个 id 为 selectElement 的 select 元素,我们可以使用以下代码来绑定切换事件: $("#selectElement").on("change", function() { // 在这里执行需要的操作 在上面的代码中,我们使用了选择器 `#selectElement` 来获取到要绑定事件的 select 元素。 然后,我们使用 `on("change", function() { ... })`,来指定了切换事件和要执行的函数。 在函数体内,我们可以编写对 select 元素切换事件的响应代码。 例如,我们可以获取当前选中的选项的值,并将其打印到控制台上: $("#selectElement").on("change", function() { var selectedOption = $(this).val(); console.log("当前选中的选项值为:" + selectedOption); 通过这样的方式,我们通过 jQuery 给 select 标签绑定了切换事件,并且可以对切换事件进行相应的处理。 ### 回答3: 要给select标签绑定切换事件,我们可以使用jQuery的on()方法来实现。首先,确保在代码中引入了jQuery库。 我们可以通过在select标签添加一个id或者class来选择该标签。然后使用jQuery的选择器来选中该标签,接着使用on()方法为该标签绑定change事件。 下面是一个示例代码: HTML代码: <select id="mySelect"> <option value="option1">选项1</option> <option value="option2">选项2</option> <option value="option3">选项3</option> </select> JavaScript/jQuery代码: $(document).ready(function(){ $("#mySelect").on("change", function(){ var selectedOption = $(this).val(); // 获取选中的值 console.log("选中的值是:" + selectedOption); // 执行其他操作 在上述代码中,我们使用了$(document).ready()方法来确保页面加载成后再执行jQuery代码。然后,使用$("#mySelect")选择器选中了id为mySelect的select标签,并使用on()方法为其绑定了change事件。当选项切换时,change事件会触发。 在change事件处理程序内部,我们使用$(this).val()方法获取了选择的值,并可以进一步执行其他操作。 这是一个简单的示例,你可以根据自己的需求进行修改和扩展。