gpt4 book ai didi

javascript - 在ZK中处理MouseScroll

转载 作者:行者123 更新时间:2023-11-28 21:09:02 25 4
gpt4 key购买 nike

我想在zk中处理鼠标滚动事件,但找不到它。我可以使用 JavaScript 来完成此操作,但我想将通知发送到服务器端,以便服务器可以将数据发送回客户端。有什么方法可以在 Controller 中获取该事件。或者做

comp.addEventListener(EVENTNAME,mylistener);

我想知道上面的 EVENTNAME 的值是什么。

最佳答案

据我所知,ON_SCROLL 事件仅在项目有滚动条时才起作用;如果你想捕获鼠标滚轮事件,你需要在javascript中执行此操作,并创建你自己的事件。

这是我在分页网格中捕获鼠标滚动以使用鼠标滚轮前进页面的方法;将通知发送到服务器端的部分是以下行: this.getPaginal().fire('onPaging', nextPage)

<zk>
<zscript>Object[] o = new String[150];

</zscript>
<hlayout id="layout" vflex="1" hflex="1">
<grid id="grid1" width="300px" autopaging="true" height="300px" mold="paging" vflex="true">
<rows>
<row forEach="${o }">
<label value="item ${forEachStatus.index}"/>
</row>
</rows>
</grid>
</hlayout>
<zscript><![CDATA[

{
grid1.setWidgetOverride("bind_", "function(){\r\n"+
"this.$supers('bind_', arguments);\r\n"+
"var node = this.$n();\r\n"+
"if (node.addEventListener)\r\n"+
" node.addEventListener('DOMMouseScroll', this.proxy(this.onMouseWheel), false);\r\n"+
"node.onmousewheel = this.proxy(this.onMouseWheel);\r\n"+
"}");

grid1.setWidgetOverride("onMouseWheel",
"function(event){\r\n" +
" var delta = 0;\r\n" +
" if (!event) /* For IE. */ \r\n" +
" event = window.event;\r\n" +
" if (event.wheelDelta) { /* IE/Opera. */\r\n" +
" delta = event.wheelDelta / 120;\r\n" +
" if (window.opera) \r\n" +
" delta = -delta;\r\n" +
" }\r\n" +
" else \r\n" +
" if (event.detail) {\r\n" +
" delta = -event.detail / 3;\r\n" +
" }\r\n" +
" if (delta) {\r\n" +
" console.log('delta = ' + delta); " +
" var currPage = this.getPaginal().getActivePage(); \r\n" +
" var nextPage = Math.min (this.getPageCount() - 1, Math.max (0, currPage - delta)); \r\n" +
" this.getPaginal().fire('onPaging', nextPage);\r\n" +
" }\r\n" +
" if (event.preventDefault) \r\n" +
" event.preventDefault();\r\n" +
" event.returnValue = false;\r\n" +
"} ");
}




]]></zscript>

关于javascript - 在ZK中处理MouseScroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com