问题描述:在页面中动态使用js添加的html中设置了onclick事件,生产页面后点击事件无效并提示:Cannot read property 'xxx' of undefined

如:

$('.test').append("<li><a href='javascript:void(0);' onclick=\"search.fn.HotSearch('" + v + "')\">" + v + "</a></li>");
search.fn={
HotSearch: function (key) {
$("#_search_box").val(key);
search.fn.DoSearch(true);
},
DoSearch:function(istrue){
}
}

问题分析:造成这一情况的主要原因在于dom文档加载完毕后,js会因找不到元素无法对该元素注册事件侦听,因此;即使后来将dom元素动态添加进去,js无效。 如果想对这种动态即时添加的dom元素本身注册事件侦听,可采取在动态添加dom元素后,再对该元素动态注册事件侦听。

除了通过元素id等各种通过属性获取对应元素并执行事件绑定的方式外,这里提供一种另类的方式:

   var html = "<li><a href='javascript:void(0);'>" + v + "</a></li>";
var obj = $(html);
obj.bind('click', function () { search.fn.HotSearch(v); });
$('.test').append(obj);

动态添加html事件无响应的更多相关文章

  1. android stuido 在线安装svn插件,添加版本库无响应

    问题:android stuido 中在线安装svn插件,添加版本库无响应. 原因: 由于android stuido 版本较高,在线安装1.6x 版本的svn,添加版本库一直没有响应,最后卡死.. ...

  2. jq动态添加onclick事件在谷歌中不起作用

    $("#oa-bed-rooType").append($('<option/>').val(0).text('请选择房间类型')); $('#oa-bed-roomT ...

  3. MFC 单文档中动态添加菜单项和响应菜单事件

    新建一个单文档程序 在查看菜单项中增加两个子菜单,分别为隐藏工具栏(ID_HIDE),新建菜单(ID_NEWMENU) 在Resource.h中增加一个ID_NEWMENU宏 #define ID_N ...

  4. 关于cocostudio动态添加控件触摸响应无效的学习

    time:2015/04/19 1. 描述 * 把studio制作的ui加载之后,动态添加事件(比如说,单点触摸),结果回调函数(eg:onTouchBegan等)根本没有响应! * 另外,网上有朋友 ...

  5. XE7 - Image的双击事件无响应,咋整?(已解决)

    今天折腾了好一会,本想做个类似于手机相册的功能,显示SQLite数据库中的图片,然后继续做一些处理.哪成想,写个测试例子时就被卡住了:简单的往窗体上拖放了一个TImage和一个TLabel,没有修改任 ...

  6. vue动态添加当前事件下的class

    html部分<div class="star"> <span v-for="(item,index) in 5" @click="c ...

  7. jQuery on()方法绑定动态元素的点击事件无响应的解决办法

    $('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count ...

  8. 注意:MainActivity的oncreate方法里不要再inflate布局了(MainActivity里的点击事件无响应)

    activity_main已经通过setContentView(R.layout.activity_main);设置给MainActivity, 不要再inflate出新布局,然后findviewby ...

  9. JQuery 动态添加onclick事件

    $('#div_id').click(function(){ show(1,2,this); });

  10. 当前页面刷新和动态添加控件的jquery事件绑定on

    当前页面刷新(console): location.reload() 给动态添加的控件添加js事件(委托): <ul> <li>菜单一</li> <li> ...

随机推荐

  1. ubuntu环境安装街机风格的太空飞船游戏(2D飞机射击游戏)游戏——Chromium_B.S.U.

    相关: https://en.wikipedia.org/wiki/Chromium_B.S.U. https://manpages.ubuntu.com/manpages/focal/en/man6 ...

  2. 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现九

    一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...

  3. 分布式对象存储之FDFS

    1.它是一个开源的分布式文件系统,它对文件进行管理. 功能有:文件存储.文件同步.文件访问(文件的上传下载)等.特别适合以文件为主的在线服务. 2.fastDFS服务端有两个角色:跟踪器(tracke ...

  4. SMOS-II 电梯综合监控系统程序(电梯IC卡解决方案)安装的注意点

    命令提示符下输入命令dir "D:\SMOS-II-CH V3.2" /b /s 回车可返回SMOS II 3.2对应的各文件路径 D:\SMOS-II-CH V3.2\Setup ...

  5. VUE 改成history 模式 刷新404 的问题

    vue 路由的URL有两种模式,一种是 hash,一种是history ,history 模式更好看一些. 在使用hisory模式时,由于地址并不是真实存在,那么在刷新的情况下,这个会报404错误. ...

  6. 《JavaScript 模式》读书笔记(4)— 函数3

    这篇,我们来学习下自定义函数以及即时函数的内容. 四.自定义函数 函数可以动态定义,也可以分配给变量.如果创建了一个新函数,并且将其分配给保存了另外函数的同一个变量,那么就以一个新函数覆盖了旧函数.在 ...

  7. Vue.js与jQuery混用

    标签: js 坑位 最近开发一个需求,项目有用到jQuery和Vue,发现我jQuery绑定的事件全部都失效了. Why Vue会重新渲染dom,加上是异步实例Vue.所以正常写程序的话jq的$()获 ...

  8. AFL分析与实战

    文章一开始发表在微信公众号 https://mp.weixin.qq.com/s?__biz=MzUyNzc4Mzk3MQ==&mid=2247486292&idx=1&sn= ...

  9. 鸿蒙应用开发从入门到入行 - 篇7:http网络请求

    鸿蒙应用开发从入门到入行 第七篇 - http网络请求 导读:在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用.ArkUI里的基础组件,并通过制作一个简单界面掌握使用 HarmonyOS - ...

  10. 中电金信:GienTech动态| 获奖、合作、与伙伴共谋数字化转型…

    ​ ​ -- -- GienTech动态 -- -- 中电金信携"源启"亮相第十二届中国电子信息博览会 ​ 4月11日,为期三天的"第十二届中国电子信息博览会" ...