【问题标题】:How to get DOM element from touch event?如何从触摸事件中获取 DOM 元素?
【发布时间】:2018-10-25 03:35:35
【问题描述】:

以下是在 onclick 中添加类的代码 100% 在桌面浏览器上有效,但在移动 android webview 上无效。未显示移动端的提醒。

<button onclick="alert('test');this.classList.toggle('newclass');" >

我找到了如何在 android webview 上运行 onclick,如下所示。显示警报,但切换功能不起作用。

newNode.addEventListener("touchstart",function (e){
    alert("test");
    e.classList.toggle('newclass');
}, false)

但想添加当前节点的类是不工作的。据说:

未捕获的类型错误:无法读取未定义的属性“切换” 在 HTMLButtonElement。 (app_mobile.js:5799)

实际上如何使用android webviee的触摸事件获取dom元素并添加/更改其元素的类?

【问题讨论】:

  • eTouchEvent 而不是 HTMLElement。阅读有关如何获取被触摸元素的文档。
  • 我会避免使用任何内联 js / css - 这是一种不好的做法,会导致代码难以维护:)

标签: javascript html css


【解决方案1】:

e.classList.toggle 应该是e.target.classList.toggle

e 是传递给回调的事件。如果你想处理触发这个事件的 HTML 元素,你可以使用e.target 来处理它

【讨论】:

    猜你喜欢
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2011-07-10
    • 1970-01-01
    • 2023-01-05
    相关资源
    最近更新 更多