jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性11

1.jQuery为动态添加的元素绑定事件:在1.7之后,添加了live()方法,1.9后又被移除,1.9中可用on()方法:

[javascript] view plain copy

  1. $(function() {
  2. $(‘.btn‘).on(‘click‘, function() {
  3. alert(‘按钮被点击‘);
  4. });
  5. $(‘body‘).append(‘<button class="btn">动态添加的按钮</button>‘);
  6. });

2.获取checkbox是否被选中,以及操作其选中状态:

a.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase .

b.如果使用attr方法获取时,如果当前input中初始化未定义checked属性,则不管当前是否选中,$("#selectAll").attr("checked")都会返回undefined; 
    如果当前input中初始化已定义checked属性,则不管是否选中,$("#selectAll").attr("checked")都会返回checked

使用方法:

[html] view plain copy

  1. <input type="checkbox" id="selectAll" />全选
  2. <input type="checkbox" class="selectRow" />第一行
  3. <input type="checkbox" class="selectRow" />第二行

[javascript] view plain copy

    1. $(‘#selectAll‘).on(‘click‘, function() {
    2. if ($(this).prop(‘checked‘)) {
    3. $(‘.selectRow‘).prop(‘checked‘, true);
    4. } else {
    5. $(‘.selectRow‘).prop(‘checked‘, false);
    6. }
    7. });
时间: 2024-10-30 10:14:04

jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性11的相关文章

jqery 动态添加元素 绑定事件

jQuery动态添加元素: var url = "...";//服务地址 $.ajax({ type: 'post', url: url, data:{fireId:fireId}, success: function(data){ for(var i = 0; i < data.data.length; i++){ var obj = data.data[i]; var temp = '<div class="div_stage"><spa

SVG 动态添加元素与事件

SVG文件是由各个元素组成.元素由标签定义,而标签格式即html的元素定义格式.但是载入一个SVG文件,却无法通过常规的js获取对象方式来获取到SVG中定义的元素,更无法通过这种方式来动态添加SVG元素与事件. SVG元素的操作都要借助于SVG的document对象.SVG的document对象获取方式为: svgDoc = document.getElementById("mySVG").getSVGDocument();其中mySVG为SVG主体的id.注意需要在SVG完全加载完成

jQuery动态行绑定事件,发生重复绑定解决方案

背景: 系统需要动态增加分类,各分类下有各自的3项资金(有资金小计,问题就出在这里). 问题: 新增一条分类,需要给3项资金新绑定小计功能.这个时候会发现,初始第一行的计算,会调用两次,增加到三行的时候,第一行会重复计算三次,第二行会重复计算两次...以此类推 为什么会执行多次? 猜词: 新增一行,绑定计算函数,历史分类会累计事件.也就是说,每新增一行,历史的每一个分类都会增加一次事件绑定. 方案: 绑定事件前,删除事件.jQuery提供了on().live()绑定方法,对应的解绑事件off()

给动态元素绑定事件

支持给动态元素和属性绑定事件的是live和on,其中live在JQUERY 1.7之后就不推荐使用了.现在主要用on,使用on的时候也要注意,on前面的元素也必须在页面加载的时候就存在于dom里面.动态的元素或者样式等,可以放在on的第二个参数里面.比如: $("li").click(function(){}); 无效,改为: $("body").on("click","li",function(){}) 原文地址:https

jQuery对 动态添加 的元素 绑定事件(on()的用法)

从jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的(官方推荐)首选方法. 当浏览器下载完一个页面的时候就开始渲染(翻译)HTML标签,然后执行css.js代码,在执行js代码的时候就注册了相应绑定的事件,我们平常用jQuery给HTML标签绑定(单击)事件是一般这样写 $("#btnId").click(function () { //触发事件后 逻辑 });  但是对用js动态添加的元素 是无效的,即没有绑定单击事件,所以对于动态添加的标签需要用on()来

jQuery动态添加元素无法触发绑定事件

用jquery动态添加元素后,发现给动态添加的元素无法触发事件.解决方案如下: 方法一:绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持). 1 2 3 $(".newBtn").live("click",function(){ ///jquery 1.9(不包括1.9)以下可以                alert('这里是动态元素添加的事件');            }) 方法二:利用on()事件绑定 ($(ParentEle)

关于动态生成dom绑定事件失效的原因

之前做项目都是直接用jquery的bind绑定事件,不过当时都不是动态生成dom元素,而是已经页面中原本存在的dom元素进行事件绑定,最近在测试给动态生成的dom绑定事件的时候发现事件失效,于是就测试了一下: 1.事件失效的原因:(1)bind事件绑定只对dom中存在的元素有效,对于我们后来动态增加的元素是监测不到,所以绑定不了 (2)同样,当你使用var aa = document.getElementsByTagName("动态生成的元素");来获取动态生成的元素的时候也是获取不到

用JS动态创建SVG元素并绑定事件

var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); svg.setAttribute("width", "800"); svg.setAttribute("height", "500"); svg.addEventListener("load", function () {

jQuery-为动态添加的元素绑定事件

样例: $("#modify_nick").click(function () { $(this).css("display","none"); $("#nickname_span").empty(); var input = document.createElement("input"); $(input).attr("type", "text"); $(input