【问题标题】:Function repeats on mouse action鼠标操作时功能重复
【发布时间】:2020-02-02 03:34:08
【问题描述】:

我正在为我教授的一门课程设置在 Adob​​e Animate HTML5 Canvas 中使用 Javascript 的介绍。老实说,我自己没有做过任何工作,但我做过一些 Actionscript 游戏以及 Animate 之外的一些 Javascript 编程,所以我并不是完全一无所知。

练习的一部分是有一个打开 URL 的按钮。它确实如此,但它会打开它的许多选项卡。我不确定如何限制它,所以它只打开 URL 的一个选项卡。

这是我的代码。感谢您的帮助:

this.urlBtn.addEventListener("mousedown", openPage.bind(this));

function openPage(event) {
	window.open('http://www.cartoonthunder.net/', '_blank');
}

【问题讨论】:

    标签: javascript html5-canvas adobe-animate


    【解决方案1】:

    mousedown 在鼠标悬停在元素上时触发,因此会重复发生。

    改用click,它应该只触发一次。

    【讨论】:

    • 点击做同样的事情。在 Actionscript 中,我会使用 onRelease 之类的。
    • click 应该只触发一次,除非松开鼠标按钮然后再次按下。代码示例是否缺少可能会改变其工作方式的内容?您也可以非常手动和冗长,将mousedownmouseup 组合起来并使用布尔值进行跟踪,但这在JavaScript 中是多余的。
    • 我同意你的看法。然而,事实并非如此。我会继续努力,看看会发生什么。我也尝试过布尔路由,但没有得到结果。
    • 你的观点在这篇文章中也得到了证实(我已经同意,但搜索了更多)。一定是在我的尽头。 stackoverflow.com/questions/46609874/…
    猜你喜欢
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 1970-01-01
    • 2011-07-07
    • 2019-02-16
    • 1970-01-01
    相关资源
    最近更新 更多