html页面事件传参数,通过js写html代码,添加事件传参数问题的解决方案

这篇博客介绍了如何在JavaScript中动态创建input元素,并添加onchange事件监听器。作者通过封装一个AttachEvent函数,实现了在IE和Firefox中兼容的事件绑定,并能向事件处理函数传递参数。这种方法避免了直接在HTML中写入元素,增加了代码的灵活性。
摘要由CSDN通过智能技术生成

现在如果有这么一段html代码:

我不希望直接写进html页面,用js的方法来写:

var input = document.createElement("input");

input.setAttribute("type", "text");

接下里就是给他加上onchang事件

如果是在没有参数的情况下,那么实现是很简单的,如下:

input.attachEvent("onchange", test);

这时候,页面生成的html是这样的,如下:

但这并不是我想要的,我要向test方法里面传参数

遂问度娘,查了一些资料,解决办法如下:

封装一个js方法,如下:

function AttachEvent(target, eventName, handler, obj) {

var eventHander = handler;

if (obj) {

eventHander = function(e) {

handler.call(obj, e);

}

}

if (window.attachEvent)//for IE

target.attachEvent("on" + eventName, eventHander);

else

//for FF

target.addEventListener(eventName, eventHander, false);

}

然后添加onchange事件的代码写成这样:

AttachEvent(input,"change", test, input);

这样就OK了。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值