Sciter的事件处理汇总

本文介绍了JavaScript中元素事件处理的不同方式,如添加监听器、一次性事件和类组件事件。重点讲解了如何通过`addEventListener`、`oneventname`函数和类组件API来优化大量元素的事件管理。同时探讨了如何在Sciter中利用组件处理子元素事件,提升代码效率和内存管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、特定元素的事件处理
(1)element.addEventListener(eventName, handler[,options])
(2)element.on eventname=function(event){}
btn.onclick = function() { console.log("button clicked"); }
(3)element.on(eventname,function(event){}) // 和第一种处理相似,可以通过事件来订阅,类似于捕获事件
element.on('^click', function(event){})

※※※ 为了订阅某一个事件,必须有可用的DOM元素实例才能将处理程序附加到它

2、 组事件处理程序

 element.on('eventname', 'css-selector', function(event,mappedElement){})
 ```
   document.on("click", "button#file-open", function() {...});

 ```

※※※ 为了解决大量相似元素,(一个一个的添加会占用内存和CPU周期)

3、类/组件事件处理程序

 [“ on eventname at css-selector ”](event,matchedChild) {}

 ```
   class InputSearch extends Element {

       componentDidMount() { // initialize internal structure
           this.content([<input.text />,
                         <button.lookup />]);
       }
       // event handlers:
       ["on input at input.text"]( event, input ) {
           this.currentText = input.value;
       }
    
       ["on click at button.lookup"]( event, button ) {
           this.post( new Event("do-lookup", {details: this.currentText}) );
       }
    }
 ```
 
 
 可以在   在 componentDidMount() 方法和两个从子元素接收特定事件的事件处理程序中看到初始化。

https://sciter.com/event-handling-in-sciter/

※※※ 允许定义来自 组件 子元素 的事件处理程序。该组件可以提供处理事件的方法,而无需向单个子级添加处理程序

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值