关于javascript注册点击事件传递参数的不成功问题

关于javascript注册点击事件传递参数的不成功问题
最近,在今年上半年作为一个java程序员,我写的代码比java代码更快,前段时间做的一个银行柜员管理系统,这一在柜员授权柜员授权功能,由于需要考虑各种因素的影响,如管辖权和权威,后出纳型许可、业务权限等,并与这些权利交叉或联盟,页面必须控制很多Javascript。该功能模块的实现负责Javascript代码比java代码。

现在又到银行制定的安全管理系统,其核心功能块盒安全管理和安全管理,类似于C/S架构的直观和方便的管理功能的实现,并将结果显示操作员,经过几天的思考和实验,最后使用CSS + Javascript + java开发的,用java来处理业务逻辑,使用CSS状态目标对象,根据对象的状态变化使用Javascript,CSS实现的开关。

在这种情况下,遇到了一个问题,那就是,当我们登记一个Click事件处理程序中的Javascript的HTML元素,如处理函数传递3个参数,但是,使用下面的方法(节点是节点登记事件,有趣的是一个事件处理函数,没有参数)通过对事件的处理函数:
Node.addEventListener(听到咔哒声,好玩,假);
node.attachevent('onclick,好玩);
{ } =有趣的节点'onclick
很明显,我们不能用某种方式来做,注意写作的方法是不对的。
Node.addEventListener(听到咔哒声(arg1,arg2,有趣,ARG3),假);
node.attachevent('onclick(arg1,arg2,有趣,ARG3));
结{ 'onclick(arg1,arg2 } =乐趣,ARG3)
嗯,我读了一本书,javascript.dom高级编程首先,写一个方法:
功能bindfunction(obj,func){
var args = { };
对于(var i = 2;i < arguments.length;i++){
Args.push(参数{我});
}
返回函数(){
Func.apply(obj,args);
};
};
然后在JS库中添加以下两种方法。如果你不明白,你可以参考javascript.dom高级编程,这本书的2.3章本法的解释,但是我加一点变化。
功能bindfunction(obj,func){
var args = { };
对于(var i = 2;i < arguments.length;i++){
Args.push(参数{我});
}
返回函数(){
Func.apply(obj,args);
};
};
{ } { 'bindfunction窗口'oyf_mark ' ' } = bindfunction;
函数AddEvent(节点类型、听众){
使用前面的方法检查兼容性,以确保顺利降解。
如果(!是()){
返回false
}
如果(!(节点= $(节点))
返回false;
如果(节点。addEventListener){
W3C的方法(冒泡事件,如果FALSE被更改为true,以捕获事件)
Node.addEventListener(类型、听众、假);
返回true;
}
其他的
如果(节点。attachevent){
/ / MSIE的方法
结{ e +类型+听众} =听众;
节点{类型+侦听器=函数(){()
Node{'e'+ type + listener} (window.event);
}
node.attachevent(开+型、节点型+听众{ });
返回true;
}
如果两个没有方法返回false
返回false;
};
{ } { 'addevent窗口'oyf_mark ' ' } = AddEvent;
添加一个自己的JS库,为了重复使用上述两个功能,这是根据Javascript.DOM高级编程源代码稍加修改。以下可用于登记的元素的元素和参数传递给事件处理函数:
/ /登记一个新的onclick事件处理函数
oyf_mark.addevent(E,听到咔哒声,oyf_mark.bindfunction(E,getcontainerdetail,X,Y,containid));
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部