js动态绑定click事件时function传参问题

今天碰到了这样一个问题,我在javascript中动态创建了一个button,

然后我想给改button添加click事件,绑定的function想要传入一个变量参数,

一开始我想直接通过函数传参传进来,然而不知道为什么,click事件无法正常响应,

最后发现可以这么做,将需要传入的参数加入button的属性中,然后通过getAttribute()获得:

 1 function add_book_panel(infor){
 2     //在这个函数中进行DOM元素操作,需要传入参数infor
 3     …
 4     var button = document.createElement("button");
 5     button.setAttribute("infor",infor);
 6     button.addEventListener("click", function(){
 7         document.getElementById("id").innerText = this.getAttribute(‘infor‘);
 8     });
 9     …
10 }
时间: 2024-10-11 16:01:22

js动态绑定click事件时function传参问题的相关文章

js方法用来获取路径传参上所带的参数

//js方法用来获取路径传参上所带的参数 function GetQueryString(param) { var reg = new RegExp("(^|&)" + param + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) { return r[2]; } return null;

当有多个click事件时的简易做法

让类实现接口OnClickListener 然后button.setOnClickListener(this); 之后重写onClick(View v)函数. 通过v.getId()得到是哪个view触发了click事件.然后分情况处理.如 1 package com.example.linearlayout; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.view.Menu; 6 im

js实现静态页面跳转传参

最近有个项目: 存静态web服务,一个新闻页面列表出所有新闻摘要信息,然后通过点击新闻详情访问到该新闻的详情页面: 新闻展示的页面通过ajax请求接口获取到新闻的摘要信息,预计想通过id的方式访问到新闻详情页面: 如果动态实现跳转非常简单,静态文件跳转...想了一下是否能实现在静态文件的后面加上请求的id呢?比如动态情况http://news.com/?new_id=1: 静态请求src="news_content.html?new_id=1" 最后查资料还是能实现的: 特别声明:Po

不用Ajax时的传参方法

不用Ajax时的怎么传参 创建一个form表单 function test(){ var params = { "参数名": "参数值" }; postExcelFile(params, "请求路径"); } function postExcelFile(params, url) { //params是post请求需要的参数,url是请求url地址 var form = document.createElement("form"

JS完成页面跳转并传参的方法|附加:循环遍历对象

此方法只能传递较少参数 方法如下: <a href='page/index.html'>跳转</a> 以上是正常写法,如果要传参按一下写法: <!--参数写在?后面,多个参数用&隔开,下面传的参数为name=lemon,age=18--> <a href='page/index.html?name=lemon&age=18'></a> 当跳转到页面的时候这个页面的地址栏就会跟你写的那个一样,这时候你只需要获取地址栏的内容并进行采取

js方法之间的调用之——传参方法

在最近项目需求中发现,完成一些功能的时候总是要调很多结构类似的方法,写起来很繁琐,所以就想写一个“万能”方法,是的代码更简洁.即:把一个方法作为参数传给这个“万能”方法,让它去执行你给定的方法,就类似于ajax中success/error方法传参,总是传入一个方法体. ####1.将方法作为参数 代码: var a = function(){ console.info("我成功执行了..."); } var excuteFunc = function(funcName){ funcNa

第四篇:python操作数据库时的传参问题

python在操作数据库执行sql的时候我们经常会遇到传参问题,以下是我总结的几种方法: 1.格式化字符串 city = 'beijing'cur.execute("SELECT * FROM %s WHERE city = %s", city) 2.使用字典传递 sql = "INSERT INTO user VALUES(%(username)s, %(password)s, %(email)s)"value = {"username":zh

js解决click事件点击事件间隔方法

var myTimeout = null; $("#id").click(function(){ clearTimeout(myTimeout); myTimeout = setTimeout(function() { ... }, 5e3); });

HttpClient 调用WebAPI时,传参的三种方式

public void Post() { //方法一,传json参数 var d = new { username = " ", password = " ", grant_type = "password", appcode = " ", companyid = " ", version = "1.0", }; var data = JsonConvert.SerializeObjec