事件是与浏览器或文档交互的瞬间,如点击按钮,填写表格等,它是JS与HTML之间交互的桥梁。
请问:
1.一次事件是单向的还是双向的呢?
一般是:HTML -> 事件(event) -> JS 这样单向的是吗?
2.是否可以JS -> 事件(event) -> HTML这个方向传递呢?
3.事件是否只有DOM能发起?也就是说事件 = DOM事件。
事件是与浏览器或文档交互的瞬间,如点击按钮,填写表格等,它是JS与HTML之间交互的桥梁。
请问:
1.一次事件是单向的还是双向的呢?
一般是:HTML -> 事件(event) -> JS 这样单向的是吗?
2.是否可以JS -> 事件(event) -> HTML这个方向传递呢?
3.事件是否只有DOM能发起?也就是说事件 = DOM事件。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
建议实际操作来理解
事件(event)
,而不是对一个术语解释钻牛角尖。要明白为什么要有事件,那是因为
我们期望在某个时刻,希望某个函数被调用
,而事件就是这个函数的触发时刻。所以说,HTML这边触发了某个事件,引起JS这边的某个函数被调用。那么按照这个角度,
事件的接受方就必然是JS
。你要理解为“事件从HTML向JS传递
”也是可以的,那反过来,“事件从JS向HTML传递”的行为就是没有意义的。话又说回来,JS虽然不会向HTML传递
事件
,但是可以传递信息
,比如通过DOM API修改了页面的内容、样式。如果把上述的事件
也理解为一种信息
,那么信息流就是双向传递的
了。最后按照上述对
事件
的理解,DOM事件
只是引起JS回调的条件中的一种,这世界上还有各种各样的事件,比如,XHR事件,传感器事件,node.js里的事件,各种自定义事件。