• Fabricjs中canvas的事件绑定


    var canvas = new fabric.Canvas('c')
    
    canvas.on({key:value,.....})  //key为eventname
    
    canvas.on('eventname',fun)

    canvas事件绑定源码↓

      /**
       * Observes specified event
       * @memberOf fabric.Observable
       * @alias on
       * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})
       * @param {Function} handler Function that receives a notification when an event of the specified type occurs
       * @return {Self} thisArg
       * @chainable
       */
      function on(eventName, handler) {
        if (!this.__eventListeners) {
          this.__eventListeners = {};
        }
        // one object with key/value pairs was passed
        if (arguments.length === 1) {
          for (var prop in eventName) {
            this.on(prop, eventName[prop]);
          }
        } else {
          if (!this.__eventListeners[eventName]) {
            this.__eventListeners[eventName] = [];
          }
          this.__eventListeners[eventName].push(handler);
        }
        return this;
      }

    on的参数有两种格式:

    1canvas.on(eventname,fn); //绑定单个事件

    2canvas.on({eventname1:fn1,eventname2:fn2}); //绑定多个事件

    以下列出所有的event

    • object
      • :modified
      • :rotating
      • :scaling
      • :moving
      • :skewing
    • before
      • :transform
      • :selection:cleared
    • selection
      • :cleared
      • :updated
      • :created
    • path
      • :created
    • mouse
      • :down
      • :move
      • :up
      • :down:before
      • :move:before
      • :up:before
      • :over
      • :out
      • dbclick
    • event
      • :dragover
      • :dragenter
      • :dragleave
    • drop
      • :before
    • event
      • :drop
    • after
      • :render
    • before
      • :render
  • 相关阅读:
    005 HTML+CSS(Class027
    004 HTML+CSS(Class024
    003 HTML+CSS(Class011
    002HTML+CSS(class007-010)
    001HTML+CSS(class001-006)
    021 vue路由vue-router
    020 Vue 脚手架CLI的使用
    019 Vue webpack的使用
    018 vue的watch属性
    017 vue的插槽的使用
  • 原文地址:https://www.cnblogs.com/em2464/p/16113340.html
Copyright © 2020-2023  润新知