【问题标题】:React to ANY activity on page [duplicate]对页面上的任何活动做出反应[重复]
【发布时间】:2018-01-26 16:15:13
【问题描述】:

我需要一个能够对页面上的任何活动做出反应的函数(我认为是 JS 函数,但不确定)。如果用户点击任何地方,键入任何内容..无论他们在页面上做什么每次我需要这种反应发生。对于这个问题的需要,假设我正在寻找的recation是

alert ('user did something');

【问题讨论】:

  • PHP 在服务器上运行,当页面点击浏览器时,PHP 脚本会在一段时间内完成。没有理由使用php 标记这个问题。
  • clickkeydownkeyup 等上为document 注册一个活动......另外,你为什么想要这样的东西?特定任务可能有更简单的解决方案。
  • window.onclick = window.onchange = window.onmousemove = () => alert("sth");
  • 你到底为什么要这样做?它本质上会使页面无法使用。没有 everything 事件可以挂钩
  • 可用事件列表为here。如果需要,您可以绑定到该列表中的所有内容。没有通配符表示“所有这些”,因为这很少有用。 (另请注意,alert() 会导致许多类型的连续触发的事件出现问题,例如滚动事件...)

标签: javascript


【解决方案1】:

以下是您需要的示例。

基本上,您需要监听页面上的每个事件,但您是在最顶层 (window) 进行的。

function logEvent(eventName) {
console.log('user did something:', eventName); }
window.addEventListener('keydown', logEvent.bind(window, 'keydown'));

window.addEventListener('keyup', logEvent.bind(window, 'keyup'));

window.addEventListener('click', logEvent.bind(window, 'click'));

window.addEventListener('touchstart', logEvent.bind(window, 'touchstart'));

window.addEventListener('touchend', logEvent.bind(window, 'touchend'));

window.addEventListener('scroll', logEvent.bind(window, 'scroll'));
<input type="text" />
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>
<p>Enable scroll</p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多