为什么RaphaelJS中的这个事件处理程序会直接运行?
Why does this event handler in RaphaelJS, run straight away?
为什么这个事件处理程序在RaphaelJS(2.0.0)直接运行,而不是当你点击它?
function enlarge (shape) {
shape.animate({'transform' : 's2'}, 200);
}
jQuery(function () {
var paper = Raphael("canvas", 1000, 1000);
var button = paper.circle(300, 50, 20);
button.attr({'fill':'black'});
var circle = paper.circle(50, 50, 20);
circle.attr({'fill':'red'});
button.mousedown(enlarge(circle));
});
.mousedown()
需要一个函数引用作为它的参数。相反,您正在调用一个函数,并且所有.mousedown()
作为其参数获得的都是undefined
。因为需要将circle
传递给enlarge()
,所以不能直接传递对enlarge
的引用。相反,将对enlarge()
的调用包装在一个函数中:
button.mousedown(function () {
enlarge(circle);
});
因为你直接调用
将button.mousedown(enlarge(circle));
替换为以下代码:
button.mousedown(function() {
enlarge(circle)
});
相关文章:
- ng应用程序使脚本无限运行
- 仅为一个窗体运行应用程序脚本
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- Meteor应用程序无法运行-对象#<编译器>没有方法'主机'
- 检查在使用节点运行程序时是否给出ARGV
- 在浏览器上显示实习运行程序功能测试的结果
- 如何正确地包含jasmine节点测试运行程序的源文件
- 如何使用Karma单元测试运行程序捕获console.error
- 是否有可能通过单击html页面上的按钮在我的Web服务器上运行c ++程序
- Spotify应用程序的推荐单元测试框架/测试运行程序
- 放肆的控制台运行程序无声失败
- 用Javascript在tomcat服务器上运行程序,可以吗?
- Windows脚本主机查找/运行程序的变量路径使用正则表达式
- TheIntern.IO测试运行程序实习生客户端问题“;试图要求卸载的模块superagent”
- 从子帧运行程序调用函数
- 使用url运行程序
- 任何使用grunt-contrib-jasmine输出规范运行程序的方法
- 开始使用Underscore.js(一个简单的运行程序)
- Node.js-无法读取属性'toString'在Windows上运行程序包时为null
- JS测试运行程序html与生产html