v6问题集
xuexb opened this issue · 43 comments
已知的实用方法没了
time
定时- 用
onshow
代替initialize
有问题,如果有id存在第二次执行还会走onshow
但以前的initialize
却不执行 - ie7-- button不会居中,会居右
- sea给大部分人群造成困扰
- 是否考虑扩展一个
关闭开关
的方法, 很多场景下会让某个弹出层不能关闭,操作某块后可关闭,以前版本可通过art.config.beforeunload = function(){return false;}
, 在可关闭时用art.config.beforeunload = null;
但v6发现重构后同样思路不可用(可能能力有限) - v6的结构感觉没有v5好,v5分的很清,很容易明白,v6的架子有点不懂了
优点:
- 提示层很实用
- 支持模板扩展不错(+skin)
ie6中小三角有问题,因 solid
8px solid transparent -> 8px dashed transparent 问题解决
什么年代,还ie6
还有, 我现在不要取消按钮,想让层关闭不了都实现不了。。。还是用v5吧, 但又不值得那个提示层, 纠结
有title就有关闭按钮,用quick close随便点击也能关闭。
我有个loading层,要默认下是有title,但点关闭是不让关,等我ajax完后才能关,现在满 足不了了, 我自己改吧。。。
那还不简单,loading的时候,title 为 false,接收到内容后,再设置title。
你理解错了,不是title的问题,是在某场景下不能关层(esc,关闭按钮都不能关),且在后续后可设置能关。。以前的art.config.beforeunload
可以满足
哦,你的意思是想要屏蔽一切的关闭层行为啊?
还有在没有遮罩层的时候 focus,blur 操作会严重影响用户操作,如: 表单报错,弹出个请输入用户名,再聚焦到文本框,而用dialog弹出来 焦点就乱了,且在自动关闭后 焦点又放给文本框, 感觉有点不好,是否能只有在有遮罩的时候操作用户的焦点呢。。。 就目前情况v6只适合做 alert了。。。
回复上条:
给对话框附加焦点是为了照顾盲人用户,否则弹出层几乎无法在读屏器下使用。目前的机制:浮层弹出,焦点附到弹出层上;浮层关闭,焦点恢复到原来在页面中的位置。
那就弄个 close回调就好了
话说v6的 onbeforeremove
,onremove
,onclose
你们都常用么?感觉v5的beforeunload
,initialize
挺帅气啊
我了个去,我貌似遇到lz那种需求。
点击提交按钮后,然后弹出 dialog 的loading,此时loading不能被关闭(esc也不能),所以设置 return false; 在关闭回调函数中。load 到数据后,此时可以被关闭。但问题就在这里了,同一个 dialog,所以load后只能用方法接口来配置(总不能重新生成一个dialog吧),但方法接口并没有 cancel ……
这有啥方法解决呢?
自己扩展吧, 扩展个是否可关闭的开关,art.callbacks['cancel']=returnFalse 就行了, 还有那个 onshow方法,我也得改,某场景下dialog是有id的,而再 .show()显示,那个 onshow就会重复。。。
蛋疼= =
ls有扩展的代码吗?我想现成的直接套上。。。
@kmvan 你一直让我以为是个妹子,直到今天我感觉天空好黑。。。
自己扩展呗, dialog还是很好用的, 其实v6我只是相中那个tips了,v5的架子清楚,用v5用惯了。。。
我的言行这么有女人味么- -
z-index有啥问题?
@aui 我总结下这几天使用中的问题/疑惑:
1, sea应该会给大多数人带来困扰,为何不再抽出一份不用模块加载的呢?
2, buttons在ie7--有问题,当然自己可以修复下
3, 可能是为了满足大场景的需求,现在方法很多,但在实际场景下用的不是很全,v5的init,befo..不错,可能某场景下要完成: 出现加载提示,但不能关闭,(即使esc也不行),然后在成功后可关闭...(感觉弹层初化后,关闭前的两个方法很实用 @kmvan 你说呢?)
4, 焦点的问题,比如一个表单场景下,我用dialog提示错误,然后我会手动设置聚焦到文本框,但dialog会把我的焦点夺走,知道您是为了考虑盲人用户,但这样会给大多数用户带来困扰啊,是否考虑给个设置呢?
5, 为何time这个参数没了?感觉time还是蛮实用的啊
最后赞个
@xuexb
1.我感觉用 seajs 来加载,这个是发展的趋势,应该没啥困扰吧
2.ie7下的问题不清楚,我的项目不用兼容ie8-
3.确实有些场景要用到 loading,有即使按 esc 也不能关闭的需求。虽然这个可以自行扩展
4.这个我是按照回调的内容接口来判断是否聚焦回input的。dialog自动聚焦后,再手动聚焦回input就可以了。
5.time的话,现在我是用setTimeout来设置,这个问题到不大,感觉差不多。
老大的东西确实给力,省了许多工作内容!
回复 @kmvan :
- 用sea确实是很好,且也是趋势,但在实际应用中是否能用到呢?据了解artDialog的用户群有60%都是入门级用户,试想一下,你让他们为了一个模块把整个项目都模块化下可能性大不?(ps:我们项目就不让用,即使你再说好也不行,就连concat合并都不能用。。。/shuai)
- 不解释
- 感觉v6的诸多事件很多都用不到(当然qzoneV8里应该会乃至),但我感觉那个 ”不能关闭“ 的需求也是挺重要。
- 要用tip来提示,焦点真心不顺,你那样逻辑代码上再各种判断感觉有点那个啥
- ...
如果照你这样整会扩展许多,但偶能力有限,看不懂v6,但这些东西v5已经做到了啊,我感觉应该整个v6的调查卷,问问群众的心声,你说呢
把CMD模块改成 独立的jq插件,也不难。不过seajs的combo功能,我从1.3版本用到2.1,还是没搞懂怎么合并,太难了。
不会用,不能像V5版本那样直接在标签里引入后,就可以很方便的写JS,看了V6版本的例子,感觉好复杂,照着例子,我在ASP.NET页面,没试成功过,伤心 -_-||||
焦点问题在6.0.1已经修复,不再会抢夺开发者主动设置的焦点;其他问题后续版本再完善
不得不承认v6的事件管理方便,赞个.
求大侠指点怎么并存jquery啊
v6.0.2 已经提供合并后的版本,同时文档也相应更新
沙发!
窗口最大化100%的问题如何解决,以前就版本都有的 o(╯□╰)o
估计要用 js 获取窗口长宽,然后……
不再支持窗口最大化的特性
bad news.
第5条在v6.0.2中已经解决,多了一个cancelDisplay
配置,不会出现取消按钮,却依然可以使用cancel
回调来禁止关闭
dialog({
title: '提示',
content: '这是一个禁止关闭的对话框,并且没有取消按钮',
cancel: function () {
alert('禁止关闭');
return false;
},
cancelDisplay: false
}).show();
模态窗口限制了Tab键只能在Dialog内切换焦点,但是Shift-Tab却未作限制,仍能将焦点切换到遮罩下面。
对,这是一个已知问题,需要靠后解决
以前老版本设置 left: '10%',top: '10%',就可以规定弹出框第一次弹出来的位置,现在新版本上面的left 参数和top参数好像去掉了,在v6上我应该怎么实现这种应用,项目比较急,求 @aui 帮忙
有没有 left: '10%',top: '10% 这样子的自定义定位功能???求 @aui 帮忙。
@MINSTONEFE 不支持此
@aui 恩,我自己改源码了。