<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script></head><body>
<div id='divId'>按钮</div>
<script type='text/javascript'>
var Class = function(parent){
var klass = function(){
this.init.apply(this, arguments);
};

klass.prototype.init = function(){};
klass.fn = klass.prototype;

klass.extend = function (obj) {
var extended = obj.extended;
for (var i in obj) {
klass[i] = obj[i];
}
if (extended) extended(klass)
};
klass.include = function (obj) {
var included = obj.included;
for (var i in obj) {
klass.fn[i] = obj[i];
}
if (included) included(klass)
};

klass.proxy = function(func){
var self = this;
return(function(){
//return func.apply(self, arguments);
    func.apply(self, arguments);
});
}
klass.fn.proxy = klass.proxy;

return klass;
};var Button = new Class;Button.include({
/*init: function(element){
this.element = jQuery(element);
this.element.click(this.proxy(this.click));

//$(document.getElementById('#divId')).click(this.proxy(this.click));
},
click: function(){ alert('btn'); }*/
init: function(element){
this.element = jQuery(element);
this.element.click(this.proxy(this.click));
//this.element.click(this.click);

//$(document.getElementById('#divId')).click(this.proxy(this.click));
},
click: function(){ alert(this.element); }
});
var divs = document.getElementById("divId");
var buttons = new Button(divs);
</script>
</body>
</html>

解决方案 »

  1.   

    定义 url, type, reader,等 不过,你的问题到底是啥呢?
      

  2.   

    问题在这 klass.proxy = function(func){
            var self = this;
            return(function(){
                //return func.apply(self, arguments);
                func.apply(self, arguments);
            });
        }书上用了return func.apply(self, arguments);为什么还用那个return呢,不理解,我不用return效果一样
      

  3.   

    func函数有返回值的情况下,你不用return怎么把返回值返回给调用者
      

  4.   


    function jisuan(a,b){
        return a+b
    }
      

  5.   


    function jisuan(a,b){
        return a+b
    }可是click事件不需要返回值啊
      

  6.   


    function jisuan(a,b){
        return a+b
    }可是click事件不需要返回值啊
    不需要是你自己说的吧
    精确说是 可以没有返回值
      

  7.   


    function jisuan(a,b){
        return a+b
    }可是click事件不需要返回值啊
    不需要是你自己说的吧
    精确说是 可以没有返回值我感觉不需要
      

  8.   

    书,并不就一定就是正确的apply 方法能劫持另外一个对象的方法,继承另外一个对象的属性.不需要 return,但写了也不是语法错
      

  9.   

    function jisuan(a,b){
        return a+b
    }可是click事件不需要返回值啊
    事件才是更加需要返回值的啊停止事件向上层元素冒泡
    zzz.onclick=function (){
        ...............
        ...............
    return false;
    }
      

  10.   


    function jisuan(a,b){
        return a+b
    }可是click事件不需要返回值啊
    事件才是更加需要返回值的啊停止事件向上层元素冒泡
    zzz.onclick=function (){
        ...............
        ...............
    return false;
    }
      

  11.   


    function jisuan(a,b){
        return a+b
    }可是click事件不需要返回值啊
    事件才是更加需要返回值的啊停止事件向上层元素冒泡
    zzz.onclick=function (){
        ...............
        ...............
    return false;
    }
    哦,说的是