aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 16306|回复: 1

HTMLayout 使用右键菜单

[复制链接]

28

主题

653

回帖

4138

积分

超级版主

积分
4138
发表于 2013-4-15 12:56:17 | 显示全部楼层 |阅读模式
  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = ..win.form( text="HTMLayout 使用右键菜单";bottom=399;parent=...;right=599;border="resizable" )
  4. winform.add(  )
  5. /*}}*/

  6. import web.layout;
  7. wbLayout = web.layout(winform)

  8. wbLayout.html = /**  
  9. <body>

  10. 鼠标右键点击下面的按钮显示右键菜单:<br />  
  11. <button class="with-context-menu">右键点击这里</button>   

  12. <menu.context id="menuId">
  13.   <li id="i1">First item</li>
  14.   <li id="i2">Second item</li>
  15.   <li id="i3">Third item</li>
  16.   <li id="i4">Fourth item</li>
  17.   <li>Sub menu
  18.      <menu>
  19.      <li id="i5">5 item</li>
  20.      <li id="i6">6 item</li>
  21.      </menu>  
  22.   </li>
  23. </menu>

  24. </body>
  25. **/

  26. wbLayout.css = /**
  27. .with-context-menu {  
  28.   context-menu: selector(menu#menuId); /*selector函数的参数是指定右键菜单的CSS选择器*/
  29. }

  30. menu{
  31.     width: max-intrinsic; /*内容的最大宽度,可以超出屏幕*/
  32. }
  33. **/
  34.    
  35. //右键菜单触发下面的函数
  36. wbLayout.onMenuItemClick = function (ltTarget,ltEle,reason,behaviorParams) {
  37.        
  38.         //得到当前弹出菜单的节点
  39.         var ltSource = ..web.layout.element( behaviorParams.he )
  40.        
  41.         //ltEle是菜单,ltTarget是点击的菜单项目
  42.     winform.msgbox("你点击了菜单 " + ltTarget.innerText )
  43. }

  44. //弹出菜单前触发
  45. wbLayout.onPopupRequest = function (ltTarget,ltEle,reason,behaviorParams) {

  46.         //得到当前弹出菜单的节点
  47.         var ltSource = ..web.layout.element( behaviorParams.he )
  48.         ltSource.innerText = "已弹出菜单"
  49.        
  50.         //ltEle是菜单对象
  51. }

  52. wbLayout.onPopupDismissed = function (ltTarget,ltEle,reason,behaviorParams) {

  53.         //得到当前弹出菜单的节点
  54.         var ltSource = ..web.layout.element( behaviorParams.he )
  55.         ltSource.innerText = "已关闭菜单"
  56.        
  57.         //ltEle是菜单对象
  58. }

  59. winform.show();
  60. win.loopMessage()
复制代码
参考:
http://www.terrainformatica.com/2006/08/h-smile-core-popup-and-context-menus-htmlayout-and-sciter-engines/

48

主题

542

回帖

3328

积分

五级会员

积分
3328
发表于 2013-4-15 15:27:12 | 显示全部楼层
英文好真的很有必要啊,多谢分享
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-10-13 09:58 , Processed in 0.055947 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表