javascript一直很想明白的问题

d945332077 2012-09-21 12:50:54
关于javascript中事件绑定和接触绑定
比如:obj.addEventListener("click",add,false)---我想问这个add方法要是有参数怎么办啊还有接触的时候又该怎么办啊 ??在IE里面处理又是怎么办啊???千万别给我说用jquery 请就事论事谢谢

比如aa函数 function aa(obj,obkj,s) {

}
...全文
185 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡鱼_ 2012-09-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
不行就加自定义属性给DOM,然后再事件中用this.getAttribute获得。。嘿嘿。。
[/Quote]

呵呵,这也是好实用的方法了。存储在元素节点上
  • 打赏
  • 举报
回复
不行就加自定义属性给DOM,然后再事件中用this.getAttribute获得。。嘿嘿。。
泡泡鱼_ 2012-09-21
  • 打赏
  • 举报
回复
上面的: var o=document.getElementById("aa");忘了删除了
泡泡鱼_ 2012-09-21
  • 打赏
  • 举报
回复
<script type="text/javascript">
function add(a,b,c){
alert(a+":"+b+":"+c)
}
function bind(fn,args){
return function(){
return fn.apply(this,args);
}
}
window.onload=function(){
var o=document.getElementById("aa");
var arg1=1,arg2=2,arg3=3;
var b=bind(add,[arg1,arg2,arg3]);
window.attachEvent?document.attachEvent("onclick",b):window.addEventListener("click",b,false);
}
</script>


像这样子使用,不就是满足了你传参的需求么?
hnlnbukn 2012-09-21
  • 打赏
  • 举报
回复
点击事件,,你点击的时候会往函数里传递什么参数呢?用户又没有任何的输入,那你传递的参数就是你在点击的时候能取到的参数。点击时能取到,在函数里一样可以取到。
泡泡鱼_ 2012-09-21
  • 打赏
  • 举报
回复
。。。。你想传参而已,1楼的方法不就是按你说的那样的效果么??
d945332077 2012-09-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

obj.addEventListener("click",function(){add(arg)},false)
[/Quote]

我只想引用其他的方法 不需要回调的匿名函数
d945332077 2012-09-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

JScript code

Function.prototype.bind = function(bind, args)
{
var _self = this;
return function(){
return _self.apply(bind || _self, [].concat(args));
}
}

obj.addEventListener("click",……
[/Quote]



你的意思是 如果我想直接传旨是没有办法实现的 是这个意思吗》???
挨踢直男 2012-09-21
  • 打赏
  • 举报
回复
obj.addEventListener("click",function(){add(arg)},false)
jc_registration 2012-09-21
  • 打赏
  • 举报
回复

Function.prototype.bind = function(bind, args)
{
var _self = this;
return function(){
return _self.apply(bind || _self, [].concat(args));
}
}

obj.addEventListener("click", add.bind(null, [obj, obkj, s]), false);

====================
测试

function add(a, b, c)
{
alert(a + b + c);
}

var s = add.bind(null, [1,2,3]);

s();

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧