【问题标题】:mouse event using id in kineticjs在 kineticjs 中使用 id 的鼠标事件
【发布时间】:2015-01-30 15:55:40
【问题描述】:

我想使用图像的 id 将 dragmove 事件添加到特定图像。它不工作。

        $("#image1").on('dragmove', function(evt) {
            var shape = evt.targetNode;
            alert('you clicked on \"' + shape.getPosition().x + '\"');
        });

【问题讨论】:

    标签: javascript mouseevent kineticjs


    【解决方案1】:

    您可以使用find(id)findOne(id) 在舞台上获取图像实例。

    stage.findOne('#image1').on('dragmove', function() {
        // here this refers to image instance
    });
    

    【讨论】:

      【解决方案2】:

      看来您正在混合使用 jQuery 和 KineticJS。 jQuery 不知道舞台中的形状,它们由 KineticJS 管理。

      试试这样的:

      var image = stage.get('#image1')[0];
      
      image.on('dragstart', function() {
              alert('you clicked on \"' + image.position().x + '\"');
      });
      

      【讨论】:

      • 它不工作。如果 image1 作为第一个元素被删除。var image = stage.get('#image1') 有效。如果 image1 被删除,在一些其他元素被删除 var image =stage .get('#image1') 不起作用。 @Yousif Al-Y
      • @BirunthaGnaneswaran 对不起,我不确定你的意思。您是否在末尾包含了“[0]”?分享您的一些代码可以让我更轻松地为您提供帮助。
      猜你喜欢
      • 2012-08-29
      • 2012-05-21
      • 2012-12-29
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      相关资源
      最近更新 更多