JS要怎样控制同一事件触发的多个方法的先后顺序

改一下昵称 2011-06-15 11:17:55
如上,一个<input type="text" value="your name" id="nameText"/>
onfocus 时需要触发两个方法: 1,value清零 ;2,弹出正文输入框<textarea></textarea>;

我试过各种普通的调用机制比如
document.getElementById("nameText").onfocus=。。。。
另一个方法要么也像上面这样,要么嵌在标签里。
但问题来了,前面的会被后面的覆盖,也就是只执行一个方法。
有什么方法可以让JS发挥多线程或者有一个执行次序 而不是直接掐死前一个

注:我不太情愿把一个方法嵌在另一个方法里,因为这样不利于方法的通用

我常潜水分不多哦
...全文
957 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
改一下昵称 2011-06-15
  • 打赏
  • 举报
回复
楼上的方法我怎么就想不到呢。。。。。。谢啦
豆虫 2011-06-15
  • 打赏
  • 举报
回复
同一个事件的不同方法 最后一个肯定是会覆盖掉之前的
LZ的意思是onfocus有时候要清零 有时候要弹出正文输入框是吧?
对于LZ的这种情况 清零或弹出框应该有各自的触发条件吧 先后顺序应该在onfocus事件代码中控制 而不是去考虑写两个相同的onfocus事件
hch126163 2011-06-15
  • 打赏
  • 举报
回复
document.getElementById("nameText").onfocus= function(){

fun1();
fun2();
...
funn();
}

或者:
function bindEvent(obj,event,fun){
if (window.attachEvent) {
obj.attachEvent("on" + event,fun)
} else {
obj.addEventListener(event, fun, false)
}
}
bindEvent(document.getElementById("nameText"),'focus',fun1);
bindEvent(document.getElementById("nameText"),'focus',fun2);

87,997

社区成员

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

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