zoukankan      html  css  js  c++  java
  • canvas练手项目(二)——各种操作基础

    想想应该在canvas上面作画了,那么就不得不提到事件了。

    (打着canvas的旗号,写着mouse事件。挂羊头卖狗肉!哈哈哈哈哈~)

    先来看一看HTML事件属性,我们要用的就是Mouse事件,就先研究下mouse事件的特性。

    onmousedown

    onmousemove

    onmouseout

    onmouseover

    onmouseleave

    onmouseenter

    onmouseup

    onmousewheel

    先研究已上6个事件。

    做了一个demo,用于了解mouse事件。

    yourDom.addEventListener("mousedown",function (e) {
        console.log("mousedown",e.clientX , e.clientY);
    })

    每个事件都绑定一下,接着鼠标轻轻划过绑定的DOM,我们可以看到事件顺序。

    由此可见滑过的时间是mouseover最先触发,接着是mouseenter,离开时先触发的是mouseout接着才是mouseleave。

    这里我陷入了沉思,mouseover和mouseenter是不是设计重复了??

    之后去翻阅了下工具书,总结出mouseover和mouseenter最大的区别就是mouseover是冒泡的,mouseenter则不是。来看个例子,就能感觉到了。

    例子

    我们发现当滑过红色区域的时候mouseover不断的加数字,而mouseenter则很淡定。这就是冒泡的力量!

    好了我们看下一个点击滑动的操作,这个时候我们需要了解的就是down和up!

    上图,用实际操作说明一切:

    down和up之间相当于一个区间,在这个区间我们可以干很多事,比如拖动,比如截图。就是要注意万一我们没有up,就直接离开了当前dom,那么这区间还没完没了了??

    淡定!

    虽然没有up的动作,但是我们看到out和leave,所以这个时候没有up也可以通过out和leave来判定区间范围

  • 相关阅读:
    oracle 释放表空间到OS(resize)
    dblink查找对应的目标端session
    oralce move和shrink释放高水位
    使用ogg实现oracle到postgresql表的实时同步
    oracle_fdw的安装和使用
    postgresql数据库升级
    ORA-00054: 資源正被使用中, 請設定 NOWAIT 來取得它, 否則逾時到期
    贪心算法应用-哈夫曼编码
    9 深拷贝学习
    8 标准库C文件
  • 原文地址:https://www.cnblogs.com/cherryvenus/p/8554092.html
Copyright © 2011-2022 走看看