zoukankan      html  css  js  c++  java
  • 如何使HTML元素的事件,使用我们封装类的成员函数作为处理函数

        在网页中的Javascript特效,一般是由好多函数组成.但这样的特效,在使用中,会有诸多不便.但如果封装,一般会卡在"如何使HTML元素的事件,使用我们封装类的成员函数作为处理函数"
        那么,如何解决这个问题呢?
        只要切换事件全局上下文为我们类实例的上下文就可以了.
        如何实现切换呢?
        可以用javascript的委托,感觉原理就像把成员函数的二次寻址,转化成用一个自定义函数来实现寻址和参数传递.
        代码实现如下:
        // ajax .net 一段代码
        Function.createDelegate = function(instance, method)
        
    {
            
    return function()
            
    {
                method.apply(instance, arguments);
            }

        }

        有了上面的生成委托代码的函数,我们可以这样来设置事件
        function AdShower(uiImg)
        
    {
            
    this.uiImg = uiImg;
        }

        
        AdShower.prototype.init 
    = function()
        
    {
            this.uiImg.onmousemove = Function.createDelegate(this,this.onmousemove);
        }
        
        AdShower.prototype.onmousemove 
    = function()
        
    {
            alert(
    this.uiImg.outerHTML);
        }


     这时,通过createDelegate,我们成功的完成了切换
  • 相关阅读:
    CSS的扩展less和sass
    html5小游戏基础知识
    htm5拖放和画布
    htm5
    并查集模板
    二叉树的建树
    kmp的书写
    贪心算法
    容器
    POJ2442 优先队列
  • 原文地址:https://www.cnblogs.com/evlon/p/793211.html
Copyright © 2011-2022 走看看