javascript - 我无法通过 javascript 中的 $().click(calculator.press ("") 访问我的计算器对象

标签 javascript jquery oop events click

我正在尝试了解 OOP javascript 标准。我有一个codepen我试图使计算器对象工作,并且我创建了多个 $().click(calculator1.press()); 代码来实现它。我是新手,开发工具说 calculator is not a function 并且 object.$ is not a function。我不明白这个错误

var计算器1 = Object.create(计算器); //jquery点击事件调用计算器 $("#clear").click(calculator1.press("clear"));

最佳答案

您正在尝试传递一个函数作为引用...但您正在调用该函数。

由于您调用的函数需要的参数与默认点击处理程序回调不同,因此您需要将其包装在匿名函数中

$("#clear").click(function(){
    calculator1.press("clear");// won't get invoked until event occurs
}); 

将函数引用传递给点击处理程序的简单示例

function handler(event){
   event.preventDefault();
   alert(this.id);
}

$('#someID').click( handler ); // pass function name as reference, won't get invoked until event occurs

但是你正在做:

$('#someID').click( handler() ); // handler() will be invoked as soon as this code line encountered

关于javascript - 我无法通过 javascript 中的 $().click(calculator.press ("") 访问我的计算器对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35400776/

相关文章:

集成到 ASP.NET Webdeploy Publish 的 JavaScript 缩小器(例如 YUI)

jquery - setInterval 延迟仅在第一次起作用

javascript - jquery geocomplete 无法与 vue js 一起使用

php - 两个交互类的 OOP 设计方法

c# - 如何确保只能从特定类调用类方法?

javascript - 在 JavaScript 中为函数对象起别名

javascript - 如何进行递归 Promise 调用以作为 Javascript 中 reduce 的返回值?

Javascript:是否有 o.key/o ['key' ] 的函数版本?

javascript - 无需下载即可知道图片是否支持 CORS

javascript - 如何使用 jQuery 从 DOM 元素创建 JavaScript 变量