【问题标题】:A-frame object onclick functionA-frame对象onclick函数
【发布时间】:2021-08-18 07:14:56
【问题描述】:

我的场景中有一个对象,我希望当我单击该对象时,会出现一个名为 myFunction 的函数。如何才能做到这一点?我还为我的对象分配了 #plane1 的 ID,以防万一有助于该功能。我怎样才能拥有它,当我单击对象#plane1 时,会出现一个名为 myFunction 的函数?

【问题讨论】:

    标签: javascript html css three.js aframe


    【解决方案1】:

    您可以在 HTML 元素上使用onclick 事件。比如:

    <div id="plane1" onclick="myFunction()">Click me</div> 
    

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click

    如果您想使用 JavaScript 添加事件,请使用 addEventListener()。比如:

    const plane = document.getElementById("plane1");
    plane.addEventListener("click", myFunction);
    

    https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

    【讨论】:

    • 该代码通常在 A-frame 中工作,但由于某种原因它不适用于我的 我不知道为什么,还有其他方法吗?我的代码小提琴:jsfiddle.net/AidanYoung/h0cb1nq8/2
    • 这个页面讨论了 A-frame 库 (aframe.io/docs/1.2.0/introduction/…) 中的事件,但是,我不是这个库的专家,所以我不知道它为什么不起作用。
    • 在事件部分的底部它说:一个常见的误解是我们可以将点击事件侦听器添加到 A-Frame 实体并期望它通过直接用鼠标单击实体来工作.在 WebGL 中,我们必须提供提供此类点击事件的输入和交互。例如,A-Frame 的光标组件使用 raycaster 在凝视上创建合成点击事件。或者作为另一个例子,当使用 raycaster 直接点击实体时,Mayo Tobita 的鼠标光标组件会创建一个合成点击事件。
    猜你喜欢
    • 2021-08-13
    • 2021-08-18
    • 2020-07-23
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 2021-08-31
    相关资源
    最近更新 更多