我要传递一个event对象,从函数参数到函数内部的方法,请看代码:
function wraphandler(myevent) //这个是封装函数,用于封装多个顺序执行的事件响应函数
{
// event对象为什么不能传递到 wraphandler的下一层。
Object e = arguments[0];
function handler(e) {
var tag = Event.element(e).tagName.toLowerCase();
var data = $A(arguments);
data.shift();
document.writeln(this.name + 'Click on a ' + tag + '\nOther args: ' + data.join(', ') + '</br>');
//document.writeln('clicked' + this.i.toString() + '</br>');
document.writeln('-----------------------------' + '</br>');
}
// 点击计数器,wrap封装函数内的通用计数器
handler.i = 1;
// 顺序执行的第二个函数,代码功能是显示鼠标点击次数
function handler2(e) {
handler.i = handler.i + 1;
document.writeln('handler.i = ' + handler.i + '</br>');
}}
function wraphandler(myevent) //这个是封装函数,用于封装多个顺序执行的事件响应函数
{
// event对象为什么不能传递到 wraphandler的下一层。
Object e = arguments[0];
function handler(e) {
var tag = Event.element(e).tagName.toLowerCase();
var data = $A(arguments);
data.shift();
document.writeln(this.name + 'Click on a ' + tag + '\nOther args: ' + data.join(', ') + '</br>');
//document.writeln('clicked' + this.i.toString() + '</br>');
document.writeln('-----------------------------' + '</br>');
}
// 点击计数器,wrap封装函数内的通用计数器
handler.i = 1;
// 顺序执行的第二个函数,代码功能是显示鼠标点击次数
function handler2(e) {
handler.i = handler.i + 1;
document.writeln('handler.i = ' + handler.i + '</br>');
}}
解决方案 »
- 帮我分析下代码谢谢
- jquery 删除一组文本框(源码如下,请高手调试一下)
- Ext tabpanel groupingstore pagingtoolbar 的问题
- 一段JS代码 IE能运行,FIREFOX不行,高手帮看下。。
- 请教一个JS的响应的问题
- JS 动态创建DIV(IE8没问题)Google chrome提示:Uncaught TypeError: Illegal invocation
- 怎么样固定弹出窗口大小?
- 【求助】关于Modal Dialog的问题
- javascript:如何截掉一个字符串头尾的空格?
- 关于从子窗体向父窗体传数据的问题,请高手指教!!!!
- 如何定义一个二维数组
- 闲着无聊 看了个东西 是javascript操纵svg 被震惊了 测试了下 ie6也支持 疯狂震惊中………感觉flash没必要了
--->
var e = arguments[0];试试
<html xmlns="http://www.w3.org/1999/xhtml" >
<script src="prototype-1.6.0.3.js"></script>
<script type="text/javascript">
function wraphandler(myevent) //这个是封装函数,用于封装多个顺序执行的事件响应函数
{
// event对象为什么不能传递到 wraphandler的下一层。
Object e = arguments[0];
function handler(e) {
var tag = Event.element(e).tagName.toLowerCase();
var data = $A(arguments);
data.shift();
document.writeln(this.name + 'Click on a ' + tag + '\nOther args: ' + data.join(', ') + '</br>');
//document.writeln('clicked' + this.i.toString() + '</br>');
document.writeln('-----------------------------' + '</br>');
}
// 点击计数器,wrap封装函数内的通用计数器
handler.i = 1;
// 顺序执行的第二个函数,代码功能是显示鼠标点击次数
function handler2(e) {
handler.i = handler.i + 1;
document.writeln('handler.i = ' + handler.i + '</br>');
}}Event.observe(document.body, 'click', wraphandler.bindAsEventListener(obj, 1, 2, 3));
</script>
</html>要实现的功能是鼠标点击计数,点一次,显示1,再点,显示2 。。
你的代码什么时候执行wraphandler的下一层?
e = arguments[0];
function handler(e){
var tag = Event.element(e).tagName.toLowerCase();
var data = $A(arguments);
data.shift();
document.writeln(this.name + 'Click on a ' + tag + '\nOther args: ' + data.join(', ') + '</br>');
document.writeln('-----------------------------' + '</br>');
}
handler.i = 1;
function handler2(e){
handler.i = handler.i + 1;
document.writeln('handler.i = ' + handler.i + '</br>');
}
}