获取事件的产生dom
var source = event.srcElement;(IE) var source = event.target;(火狐等其他浏览器) $(source).blur(); //使用实例1 var eSrc; if(window.event) { e = window.event; eSrc = event.srcElement; } else { eSrc = e.target; } //使用实例2 if(event.srcElement) eSrc=event.srcElement; else eSrc=event.targer;
回车键的处理:
我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交。
要控制这些行为,不需要借助JS,浏览器已经帮我们做了这些处理,这里总结几条规则:
如果表单里有一个type="submit"的按钮,回车键生效。
如果表单里只有一个type="text"的input,不管按钮是什么type,回车键生效。
如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为type=submit。
其他表单元素如textarea、select不影响,radio checkbox不影响触发规则,但本身在FX下会响应回车键,在IE下不响应。
var key = event.keyCode; var source; if (event.srcElement) source = event.srcElement; if (event.target) source = event.target; if (key == 13) { $(source).blur(); }