zoukankan      html  css  js  c++  java
  • 使用dojo.connect()添加事件的注意事项

    使用dojo.connect()添加事件处理器是很方便的,不用再考虑跨浏览器的问题了。但要想正确地使用这个方法,仍然要注意几个问题:
            1、用dojo.byId()获取的是dom元素,而用dijit.byId()获取的是dojo widget,这两点是有根本不同的。
            2、事件名称的大小写很关键,如果对dom元素添加事件处理器,事件名称要小写,例如click事件,可以用click或者on

    click都行,但一定要把c字母小写;如果对dojo widget添加事件处理器,事件名称必须符合dojo的规范,例如click事件,一定要写成onClick,字母o是小写,而字母c一定要大写。
            3、如果要对某个页面元素添加事件处理器,一定要根据这个元素是dom元素还是dojo widget,分别使用dojo.byId()或dijit.byId()来获取元素引用。如果乱用,那么结果可能会添加失败或出现不正常的情况。
            注意以上这几个问题,正确使用好dojo.connect()方法是没有问题的。
            例一:
    <button id="btn">Click Me!</button>
    <script type="text/javascript">
            dojo.connect(dojo.byId('btn'), 'onclick', null, handler);
    </script>
            例二:
    <button id="btn" dojoType="dijit.form.Button" label="Click Me!"></button>
    <script type="text/javascript">
            dojo.connect(dijit.byId('btn'), 'onClick', null, handler);
    </script>
    -------------------------------------------------------------------------------------------------------
    注:本文转载于:http://blog.163.com/ma13481280654@126/blog/static/732525372011101715346673
  • 相关阅读:
    快乐的一天从AC开始 | 20210717 | 牛客小白月赛36J
    快乐的一天从AC开始 | 20210717 | P4839
    P7295-[USACO21JAN]Paint by Letters P【平面图欧拉公式】
    泛型
    List集合
    红黑树被定义
    单例模式的双重检查锁模式为什么必须加 volatile?
    什么是 happens-before 规则?
    解决AtomicInteger 在高并发下性能问题
    什么是指令重排序?为什么要重排序?
  • 原文地址:https://www.cnblogs.com/GISQZC/p/5374514.html
Copyright © 2011-2022 走看看