不能在事件处理程序(jquery)中传递show()方法
Can't pass show() method in event handler (jquery)
我需要在按钮被点击时显示一个块,所以我这样做:
var container = $('#container');
$('button').on('click', container.show);
不起作用,然而,当我写这个的时候,它起作用了:
var container = $('#container');
$('button').on('click', function() {
container.show()
});
谁能解释一下为什么第一个版本不行?是否有一种方法可以使用显示方法,而无需在事件处理程序中编写匿名函数?
我可能错了,但你可以这样做:
var container = $('#container');
$('button').on('click', container.show.bind(container), false);
bind
方法本身应该创建一个匿名函数,这是.on
的第二个参数应该期望的。
查看MDN关于Function.prototype.bind
的文章
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 使用“;这个“;JavaScript原型方法中的关键字
- 序列化数据属性中对象的最可靠方法
- 使用Objective-C的JavaScript注入方法
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有更好的方法来编写这个Show/hide JQuery代码
- 将$ionicLoading.show()用于外部链接的方法
- 如果我使用 jQuery 的 .hide() 和 .show() 方法,如何将 javascript 验证仅应用于 HT
- 使用“破解”打开跨域URL的方法;window.show”;Javascript
- Show()方法从dom中删除HTML元素,而不是显示它
- 不能在事件处理程序(jquery)中传递show()方法
- jQuery的appear()和show()方法的区别
- 当类选择器返回2个元素时,使用hide()和show()方法
- jQuery show()方法在Chrome和IE浏览器上不起作用
- jquery中的Hide()和show()方法
- 在Jquery中不能执行show()方法