| 一,关于prototype.js中发现的问题 在跟我再深入啃啃prototype.js 中我们讨论了prototype.js中得 bind/Event.observe. charon@xxx 提到了 Event.observe(myChk, 'click',showMessage.bind(this), false);
本来做drag的例子,发现prototype.js的个问题。见附件 test.htm
以下贴出了代码: 当注册 div的mousemove事件,并且div中包括个 img元素时,如果我们的注册函数用到prototype.js的bind函数,那拖动鼠标,不会按照你的预想执行函数。以为是 apply/call函数的问题。但在YUL中,注册代码和prototype.js基本类似,但代码会正确执行。郁闷了半天,发现是bind函数实现的问题,与call,apply函数无关。见
var fun=obj.move.bind(obj); //错误,bind函数有问题呀 fun=function(){return obj.move.apply(obj)}; //正确 Event.observe("dragDiv","mousemove",fun,true); |
| |