mik*_*_x_ 1 events lotus-notes lotus-domino xpages
我试图理解控件的"所有属性"选项卡中存在的事件(onclick,onfocus等等)与控件的事件处理程序中的相同事件之间的区别.
当尝试在"所有属性onclick"中添加客户端或服务器代码时,它在页面加载时执行,甚至我尝试做任何事情......(对于onfocus,onkeydown等,它们都立即在页面加载时执行).
任何解释?(或链接扩展)(当然我总是与事件处理程序一起工作,我很好,但是......我只是想知道.)
基本上,您添加到组件属性中的事件是HTML组件的本机事件.您只能在此处运行客户端javascript.
<input type="text" onchange="doStuff()" class="xspInputFieldEditBox" name="view:_id1:inputText1" id="view:_id1:inputText1">
Run Code Online (Sandbox Code Playgroud)
添加到eventHandler事件中的事件是绑定事件.XPages有一个eventHandler渲染器,它创建一个javascript函数,并通过XSP.attachEvent加载方法将其附加到组件中.
事件处理程序还按顺序提供多个CSJS事件.因此,您可以通过返回false来停止其余代码.例如:
<xp:eventHandler
event="onchange"
submit="false">
<xp:this.script>
<xp:scriptGroup>
<xp:executeClientScript
script="if(! confirm('Confirm the next action?')) return false;"></xp:executeClientScript>
<xp:executeClientScript
script="doStuff();"></xp:executeClientScript>
</xp:scriptGroup>
</xp:this.script>
</xp:eventHandler>
Run Code Online (Sandbox Code Playgroud)
如果用户在确认对话框上单击取消,则此脚本组将停止.
此事件机制具有其他功能.除了对验证,部分执行等的控制之外,它还可以创建返回服务器的GET/POST ajax请求(通过托管bean或SSJS的服务器端代码)和页面上的部分/完全刷新.
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |