如何让新绑定的事件处理函在已有的处理函数前执行 $("$foo").keyup(function f1{//do something});//以上部分不能作修改//这里如何写一个 keyup 处理, 使其在f1之前执行? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 更正下 $("$foo") 是 $("#foo")... 没有爹哪来儿子?javascript引擎可是单线程的 $("#foo").keyup(function f1{//do something});//以上部分不能作修改//下面如何改才能让 f2 在 f1 前执行$("#foo").keyup(function f2{//do something}); 有一种模拟的方式,就是在foo元素下加个子元素,然后注册子元素的onclick事件,通过事件冒泡,子元素的事件会先执行,不过前提是你的foo元素能包含子元素。 jQuery 不懂,原理应该一样的!非 jQuery 版。L@_@K<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title> new document </title> <meta name="generator" content="editplus" /> <meta name="author" content="[email protected]" /> <meta name="keywords" content="" /> <meta name="description" content="" /></head><body><script type="text/javascript"><!-- document.body.onload = function() { alert("Original First!"); }; var originalLoad = document.body.onload; document.body.onload = function() { alert("Before Original First!"); originalLoad(); };//--></script></body></html> 加个开关,这样更容易理解L@_@K<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title> new document </title> <meta name="generator" content="editplus" /> <meta name="author" content="[email protected]" /> <meta name="keywords" content="" /> <meta name="description" content="" /></head><body><script type="text/javascript"><!-- document.body.onload = function() { alert("Original First!"); }; if (confirm("是否确认插入新的提示?")) { var originalLoad = document.body.onload; document.body.onload = function() { alert("Before Original First!"); originalLoad(); }; }//--></script></body></html> >>jQuery 不懂,原理应该一样的!这个知道,就是想知道jquery怎么弄>>为什么要用这种思路解决问题?不解中有这种需求是显而易见的, 比如在某个已有的框架上工作,里面有事件处理了, 而你要加一个, 又要在之前执行 晕,不懂 JS,只会 jQuery 么?仍然不懂 jQuery,以下代码是我猜的,lz 试试看吧L@_@K$("$foo").keyup(function f1{ //do something});var originalHandler = $("$foo").keyup;$("$foo").keyup(function f2{ //do something originalHandler();}); >>晕,不懂 JS,只会 jQuery 么?晕,就是不熟悉 jquery 才问这个问题,项目的框架已经用jquery了,问题就是我怎么在已存在jquery绑定上叠加事件$("#foo").keyup 这样得到的是用来绑定的函数,一个"添加器"而且jquery的事件处理应该是由一个数组来维护的队列, 并顺序执行 $("#foo").keyup(function f1(){//do something alert("old");});$("#foo").unbind();$("#foo").keyup(function f2(){ alert("1");});$("#foo").keyup(function f1(){ alert("old");});这样试试 鼠标移上去样式修改求助 如何实现跨域访问读xml 关于层的定位问题 麻烦!js创建快捷方式的问题? 怎么局部的改变超链接的颜色? 用java如何取得showModelDialog传的参数 请教高手怎样使打开的新窗口最大化(不覆盖windows的任务栏,新窗口右上角中间的那个最大化按钮要是有两个口的那种) 我已有chm格式的帮助文档,请问用什么javascript脚本命令进行打开?在线等. 求正则表达式控制文本只能输英文字母,数字,下划线,不能以数字开头,不能按输入法输中文。 onclick触发事件后,判断复选框是否被选中 求高手解答 如何找到a的parent node
//do something
});
//以上部分不能作修改
//下面如何改才能让 f2 在 f1 前执行
$("#foo").keyup(function f2{
//do something
});
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<script type="text/javascript">
<!--
document.body.onload = function() {
alert("Original First!");
}; var originalLoad = document.body.onload; document.body.onload = function() {
alert("Before Original First!");
originalLoad();
};
//-->
</script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<script type="text/javascript">
<!--
document.body.onload = function() {
alert("Original First!");
}; if (confirm("是否确认插入新的提示?"))
{
var originalLoad = document.body.onload;
document.body.onload = function() {
alert("Before Original First!");
originalLoad();
};
}
//-->
</script>
</body>
</html>
这个知道,就是想知道jquery怎么弄>>为什么要用这种思路解决问题?不解中
有这种需求是显而易见的, 比如在某个已有的框架上工作,里面有事件处理了, 而你要加一个, 又要在之前执行
$("$foo").keyup(function f1{
//do something
});
var originalHandler = $("$foo").keyup;
$("$foo").keyup(function f2{
//do something
originalHandler();
});
$("#foo").keyup 这样得到的是用来绑定的函数,一个"添加器"
而且jquery的事件处理应该是由一个数组来维护的队列, 并顺序执行
//do something
alert("old");
});$("#foo").unbind();
$("#foo").keyup(function f2(){
alert("1");
});
$("#foo").keyup(function f1(){
alert("old");
});这样试试