<html>
<body>
<p>点我</p>
<script>
var elem = document.getElementsByTagName('p')[0];
/*
elem.addEventListener( 'click', function() { alert( 1 ) }, false );
elem.removeEventListener( 'click', function() { alert( 1 ) }, false );
*/
fn = function() { alert( 1 ) }
elem.addEventListener( 'click', fn, false );
elem.removeEventListener( 'click', fn, false );</script>
</body>
</html>
====================================================================================
先侦听,然后去掉侦听, 在这是没有意义的, 但是在我的代码中需要这个
为了避免太多代码,我只写了ff下的,
我只想知道为什么不能换成注释里的东西, 而非要把fn提出来如果可以告诉我怎么传参数的话更好;
<body>
<p>点我</p>
<script>
var elem = document.getElementsByTagName('p')[0];
/*
elem.addEventListener( 'click', function() { alert( 1 ) }, false );
elem.removeEventListener( 'click', function() { alert( 1 ) }, false );
*/
fn = function() { alert( 1 ) }
elem.addEventListener( 'click', fn, false );
elem.removeEventListener( 'click', fn, false );</script>
</body>
</html>
====================================================================================
先侦听,然后去掉侦听, 在这是没有意义的, 但是在我的代码中需要这个
为了避免太多代码,我只写了ff下的,
我只想知道为什么不能换成注释里的东西, 而非要把fn提出来如果可以告诉我怎么传参数的话更好;
解决方案 »
- 通过Ajax的post方式,参数写在URL里,参数值最大长度是多少?请问如何通过Ajax方式将长文本向后传递?
- ie下ajax的缓存问题
- EXT2.0升级到4.0需要注意些什么
- javascript prototype constructor 求解
- 一个麻烦问题,不知谁能解
- 练习javascript的小工具?
- 关于setTimeout的问题
- 可以通过样式表设置 滚动条 的颜色,那能不能设置 窗口的菜单栏,工具栏 的背景色?
- extjs3.2和4.2版本的结构差别很大,求教其中3.2的tree怎么改到4.2中。
- 谁有在客户端把页面另存为word(excel)的java脚本,最好是butten触发
- Yahoo!的WEB前端工程师是怎样进行WEB开发工作的
- 关于用javascript设置excel文档的数据有效性问题
<body>
<p>点我</p>
<script>
var elem = document.getElementsByTagName('p')[0];
elem.onclick = function() {
alert(1);
}
</script>
</body>
</html>
<body>
<p>点我</p>
<script>
var elem = document.getElementsByTagName('p')[0];
elem.addEventListener('click', function(){alert( 1 );}, false);
</script>
</body>
</html>
elem.removeEventListener( 'click', function() { alert( 1 ) }, false );
这样的话,你删除的不是注册的那个function,因为引用不到注册的函数,你可以定义个变量
elem.addEventListener( 'click', fn = function() { alert( 1 ) }, false );
elem.removeEventListener( 'click', fn, false );
试试吧!~
function() { alert(1); }
如果你声明是一个有名字的函数,它不会自动执行
function fn() { alert(1); }侦听是不是也类似于这样去引用声明的方法。