问题描述:

js使用dom给元素绑定事件时如果直接传入参数,

会有传参失败并且语句会执行没有成功绑定事件的情况

举个例子,假如我们有一个div (id="div1"), 我们想给它绑定一个onclick事件并传入字符串参数:

(错误案例, 会导致如上后果)

var div=document.getElementById('div1');
div.onclik=fun('传入实参');
function fun(arg)
{alert(arg);
}

会导致加载页面时就执行了,并没有等到点击事件触发, 并且点击后不执行;

正确的绑定方式是这样的:

var div=document.getElementById('div1');
div.onclik=fun;
function fun()
{alert("");
}

也就是直接把方法名赋给 dom对象的onclick事件,

但这样就不能传参了啊, 别急,老衲有一妙计

带参数的绑定:

var div=document.getElementById('div1');
div.onclik=function () { fun("此处传入实参");  }function fun(arg)
{alert(arg);
}

也就是说除了直接把方法名赋给 dom对象的onclick事件,

还可以在onclick事件事件后定义一个方法, 我们可以在方法体中掉用我们真正的方法并传入我们想要的参数,

需要注意的是:

临时定义的这个函数中 this指的是div对象, 所以我们想传入div对象时使用 this就可以了

js解决动态绑定事件时不能传参的问题相关推荐

  1. Vue.js-Day01-PM【事件绑定(事件传参、事件对象、传参+获取事件对象)、样式处理操作(模板、事件、属性绑定)、Tab切换(原生js实现、Vue.js实现)、js中的this详解关键字】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 4.事件绑定 4.1.事件绑定(点击.双击.鼠标移动) 点击按钮-最简单的事件绑定(无参函数) 格式 点击按钮 ...

  2. Vue.js父与子组件之间传参 父向子组件传参   例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为ht

    Vue.js父与子组件之间传参 父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对 ...

  3. 微信小程序基础而重要语法整理总结(数据绑定、运算表达式、循环渲染、条件渲染、事件绑定(传参))

    目录 数据绑定 运算表达式 循环渲染 条件渲染 事件绑定(传参) 首先对初始化后的小程序目录进行梳理(图来自某机构) 补充: sitemap配置:小程序根目录下的sitemap. json文件用来配置 ...

  4. python 函数的调用的时候参数的传递_python定义函数时的参数调用函数时的传参...

    一.定义函数: 1.位置参数:直接定义参数 2.默认参数(或者关键字参数):参数名 = "默认值" 3.位置参数必须在默认参数之前 二.调用函数: 1.按位置传,直接写参数的值 2 ...

  5. js 点击事件回调函数传参

    点击事件回调函数传参 使用匿名函数 function testFun(event, str) {console.log(str); }var test = document.getElementByI ...

  6. JS一起学02:函数传参、操作属性第二种方式、提取行间事件、循环、this、焦点问题、联动选择、选项卡焦点图

    一.函数传参     1.函数传参:参数就是占位符----函数里定不下来的东西 var a1=function(){ alert(123); }; function a(f){ // 相当于 f=a1 ...

  7. js中关于带数字类型参数传参丢失首位数字0问题

    最近在项目中遇到一个问题,js中传带有数字的参数时,如果参数开头有数字0,会把0给去掉. 例如: 方法abc(0123456,789); 方法abc中获取的参数0123456就会变为123456. 原 ...

  8. react事件 组件设计传参使用

    1.事件 和原生js事件一致 事件命名用驼峰式 onclick onClick onmouseover onMouseover 事件总是要响应一个函数 render() {return ( <d ...

  9. FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参

    *起因* 本来想用Chart.js来搞图表的, 但是来了个新需求,想搞的华丽点,毕竟对Chart.js来说,实现有点难度, *做出的改变* 最终选择了FusionCharts, *难点* 网上关于Fu ...

最新文章

  1. hashmap value可以为空吗_美团面试题:Hashmap结构,1.7和1.8有哪些区别(最详细解析)...
  2. 貌似长沙有个用膳吧外卖网
  3. IPIP地址、ipv4ipv6、子网掩码、网段计算、网络广播ID计算、默认网关、DNS服务器、DHCP服务器
  4. C/C++编程心得(三)
  5. OpenCV3.4.1+opencv_contrib编译:windows10
  6. mysql循环更新_MySql多表循环遍历更新
  7. 蓝桥杯 ALGO-64 算法训练 大小写判断
  8. 项目管理学习笔记五:项目整体管理
  9. 冒泡排序_Python实现
  10. selenium: 登录QQ空间并破解滑块验证
  11. 将人工智能融入科技体育类课程中
  12. 西安火车站迎来“大手术”
  13. android用讯飞实现TTS语音合成 实现中文版
  14. 《私募股权基金投资基础知识》---第九章
  15. java migration_JetPack知识点实战系列九:Room数据库Migration
  16. 用c++写一个简单的钓鱼(集卡)程序
  17. 【Android】APK的打包流程
  18. signature=d148aa62ed913fffd968a4a920a9a8a3,a01921.html
  19. MobaXterm的SOCKS代理连接与bitvise client 软件的C2S与S2C连接
  20. Android开源绘画板(普通绘画模式和可缩放模式)——秒学自定义View和触摸事件原理...

热门文章

  1. Ae 效果快速参考:抠像
  2. CPU彪高分析及解决
  3. 三维电子沙盘数字沙盘开发教程第3课
  4. pdfbox或icepdf转换PDF为图片时,中文乱码处理
  5. 练习打字速度效果很好的网站(本人亲测)
  6. excel表格拆分多个表如何操作?
  7. 分布式:分布式系统设计实践。
  8. elasticsearch插件之cerebro的安装
  9. Android_studio 开发简单登陆界面
  10. 两份重磅文件明确互联网平台分类分级,淘宝、微信、抖音等将迎“超级监管”...