JS中事件是否可以JS -> 事件(event) -> HTML这个方向传递呢?

事件是与浏览器或文档交互的瞬间,如点击按钮,填写表格等,它是JS与HTML之间交互的桥梁。

请问:
1.一次事件是单向的还是双向的呢?
一般是:HTML -> 事件(event) -> JS 这样单向的是吗?
2.是否可以JS -> 事件(event) -> HTML这个方向传递呢?
3.事件是否只有DOM能发起?也就是说事件 = DOM事件。

阅读 2k
2 个回答

建议实际操作来理解事件(event),而不是对一个术语解释钻牛角尖。

要明白为什么要有事件,那是因为我们期望在某个时刻,希望某个函数被调用,而事件就是这个函数的触发时刻。
所以说,HTML这边触发了某个事件,引起JS这边的某个函数被调用。那么按照这个角度,事件的接受方就必然是JS。你要理解为“事件从HTML向JS传递”也是可以的,那反过来,“事件从JS向HTML传递”的行为就是没有意义的。

话又说回来,JS虽然不会向HTML传递事件,但是可以传递信息,比如通过DOM API修改了页面的内容、样式。如果把上述的事件也理解为一种信息,那么信息流就是双向传递的了。

最后按照上述对事件的理解,DOM事件只是引起JS回调的条件中的一种,这世界上还有各种各样的事件,比如,XHR事件,传感器事件,node.js里的事件,各种自定义事件。

你研究这个有什么实际用途吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题