function $(elm){
if(typeof elm == "string" )
{
return document.getElementById(elm);
}
return elm;
}var Handler = { };Handler.prototype = {
/*
* 把eventType类型的事件绑定到element元素,并使用handler事件句柄进行处理
* 兼容 IE 及 Firefox 等浏览器
*
* @param element   在其上注册事件的对象(Object)
* @param eventType 注册的事件类型(String),不加“on”
* @param handler   事件句柄(Function)
*/

registerEvent : function(element, eventType, handler) {

if(element.attachEvent) { //2级DOM的事件处理

element.attachEvent('on'+ eventType, handler);

}else if (element.addEventListener) {

element.addEventListener(eventType, handler, false);

} else { //0级DOM的事件处理

element['on'+ eventType] = handler;

}
},

/*
* 获得带参数的事件句柄的引用
*
* @param obj      需要绑定事件处理函数的所有者,null 表示 window 对象
* @param func      需要绑定的事件处理函数名
* @param ...      第三个参数开始为绑定事件处理函数的参数,由 0 到多个构成
*/

bind: function(obj, handler) {

obj = obj || window;

var args = [];

for(var i =2; i < arguments.length; i++)
{
args.push(arguments[i]);
}
alert("run this");
return function() { handler.apply(obj, args) };
}
}function show(txtObj) {

alert(txtObj.value);

txtObj.focus();

txtObj.select();
}

window.onload = function() {// var fun = Event.getEventHandler(window, show, $('txt'));// Event.addEvent($('btn'), 'click', fun);  $('btn').onclick = Handler.bind(null, show,$('txt'));}

解决方案 »

  1.   

    函数如上所示,给出的提示是找不到对象,页面代码如下:<!doctype html public"-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
    <script type="text/javascript" src="v4/js/function1.js"></script><title>new document </title></head>
    <body><div id="content"><form><input type="text" name="txt" id="txt"><br /><input type="button" name="btn" id="btn" value="click"></form></div></body></html>