|
发表于 2013-2-25 14:59:51
|
显示全部楼层
今天仔细看了一下 eshion的源码,下面的建议供参考:
1. 在HTMLayout里用超链接模拟按钮在定位与拖放时有些麻烦,建议使用 widget,
因为 div#main 被设为 command="window-caption",这就带来一个问题:左键单击、拖放事件被标题栏干扰了。打开 web.layout.behavior.windowCommand 看源码,如果被点击的节点是 widget,input,li 会忽略不处理,所以桌面图标使用 widget 也可以解决该问题。打开 layout\index.html 修改如下
- <div class="desktops">
- <widget class="app_1" name="calendar"></widget>
- <widget class="app_2" name="contact"></widget>
- <widget class="app_3" name="notes"></widget>
- <widget class="app_4" name="Maps"></widget>
- <widget class="app_5" name="videos"></widget>
- <widget class="app_6" name="youtube"></widget>
- <widget class="app_7" name="itunes"></widget>
- <widget class="app_8" name="app store"></widget>
- <widget class="app_9" name="Settings"></widget>
- </div>
复制代码 2. 打开 layout\style.css 修改如下( 使桌面图标可以拖动 )
- .desktops{
- flow: h-flow; /*桌面的子节点设为自动水平布局*/
- accept-drop: selector( .desktops widget ); /*指定可拖放到桌面的节点*/
- drop:insert; /*拖放到桌面的图标插入到该位置*/
-
- padding:20px 20px;
- height: 350px;
- width: 100%%;
- }
- .desktops widget{
- draggable:only-move; /*设为可拖放,拖放模式为移动图标*/
- width: 58px;
- height: 60px;
- margin: 10px 20px 0;
- cursor: pointer;
- }
复制代码 修改后仿真器上的桌面图标可以拖动了,其实关键的只加了三句代码,
可被拖动的图标CSS设为 draggable:only-move;
可以接受拖放的容器指定 accept-drop: selector( .desktops widget ) 以及 drop:insert;
关于拖放的更多细节,可参考:aardio范例里 -> HTMLayout范例预览工具 -> 拖放
,请下载附件覆盖到eshion提供的Ipad仿真器工程目录即可。
layout.zip
(2.25 KB, 下载次数: 340)
|
|