Warning:
This wiki has been archived and is now read-only.
提案与讨论
Contents
- 1 document.watchSelector(selector,onchange);
- 2 空白文本节点
- 3 Application cache explict 条目
- 4 Element的resize事件
- 5 ECMA-262 的 [[GetOwnProperty]] 應該更名為 [[GetOwnPropertyDescriptor]] 等等
- 6 JSS
- 7 <meta name="required-feature" content="a b c d e f g" />
- 8 <img lazyload>
- 9 表单里按Enter跳到下一个input怎么写
- 10 滚动事件应该分scrollstart,scroll和scrollend
- 11 disabled 應該適用於更多元素
document.watchSelector(selector,onchange);
详情:支持一个新的DOM API,document.watchSelector,可以监听页面加载过程中或者因为JS操作改变时引起的selector选中元素变化。例如
document.watchSelector("#id, .cls",function(e){ e.element.onclick = function(){......} });
提出者:winter(shaofeic)
当前状态:初步讨论中,未公开提出
GZhang:此段可以按以下模式实现
- 将querySelectorAll的返回值修改为live NodeList
- 要求相同的selector,多次调用querySelectorAll返回相同引用
- 给live NodeList加入change事件
var list = document.querySelectorAll('#id, .cls');
list.addEventListener('change', function() { /*...*/ }, false);
空白文本节点
详情:在格式化HTML时,经常造成一些空白文本节点,希望CSS能提供一个方法使它们不显示。
提出者:Gray Zhang
当前状态:初步讨论中,不确定何种方案可以实现。
示例:
诸如我们在编写一个“靠右依次叠放的按钮”效果时,可能会有这样的HTML:
<aside id="buttonPanel">
<span id="close">Close</span>
<span id="maxmize">Maxmize</span>
<span id="minimize">Minimize</span>
</aside>
再配以{ display: inline-block; text-indent: -5000px; width: 16px; height: 16px; background-image: xxx; }
来实现
由于按钮较多,为了让HTML保持简洁美观,显然每个span独占一行更加清晰易懂
然而,在现有的HTML解析机制中,每2个span之间有一个换行,此换行会形成一个value为'\n'的TextNode,而'\n'在渲染后是一个空格,导致按钮没有办法紧靠在一起,必须修改HTML,将3个span放在同一行才可解决,影响了HTML的阅读体验
因此,建议在CSS中有一个属性,如{ discard-empty-text-node: always | preserve-break | preserve-whitespace; }
来控制此类TextNode是否需要显示
对于此问题,现有的纠结在于:**CSS的选择器/伪类的目标是Element,但TextNode不属于Element,因此无法使用选择器/伪类选择**,需要进一步考虑方案
討論:
- 建議看過一遍 CSS3 Text 相關章節《3.3 White Space Processing Rules》— Kang-Hao (Kenny) Lu 00:36, 2 February 2012 (UTC)
Application cache explict 条目
详情:Application cache explict条目希望可以支持前缀匹配模式。如:
CACHE: /resource/
提出者:dh20156(风之石)
当前状态:初步讨论中,不确定何种方案可以实现。
Element的resize事件
详情:IE已经实现了所有Element的resize事件,希望其他浏览器同样实现
提出者:GZhang
当前状态:初步讨论中
推荐方案:提供名为DOMDimensionChanged的Mutation Event
ECMA-262 的 [[GetOwnProperty]] 應該更名為 [[GetOwnPropertyDescriptor]] 等等
详情:ECMA-262 有返回屬性敘述子的 [[GetOwnProperty]] 方法,命名不如提議的清楚。
提出者:教主
当前状态:沒有異議,等待行動(寫去 es-discuss 或是 ECMAScript 的 Bugzilla)。(Kenny 覺得如果 [[GetOwnPropertyDescriptor]] 會跟 Object.getOwnPropertyDescriptor 改混的話,[[GetOwnPropertyDesc]] 也不錯。)(信件已在 2012-02-03 寄出,尚無回應)
推荐方案:(略,很明顯)
排班
- 到2012年1月12日之前,教主應該提交意見。
- 若沒完成,到2012年1月19日之前,winter 應該提交意見。
- 若沒完成,到2012年1月26日之前,dh 應該提交意見。
- 若沒完成,到2012年2月1日之前,Kenny 會提交意見,並發表感言:「這麼簡單的東西都要拖一個月,知道 W3C 為什麼這麼慢了吧!」
JSS
提出者:JK
当前状态:有初步提案,未公开提出。Kenny 認為需要定義清楚要解決的問題並仔細比較這個提案與 jQuery 的 $().data、CSS 自定義屬性和 Web Componnets 的優劣。
<meta name="required-feature" content="a b c d e f g" />
详情:(GZhang 自己填)
提出者:Gzhang
当前状态:详情未填。
討論:
- 跟瀏覽器 'Feature' 標頭的關係是? — Kang-Hao (Kenny) Lu 00:33, 2 February 2012 (UTC)
<img lazyload>
详情:图片多,但首屏加载时间非常重要的時候使用。比如前面是一段商品说明,和几张重要的商品照片,后面几十张商品各角度照片,但是如果一开始就加载所有图片,前面几张重要的反而看不到了
提出者:dh、GZhang
当前状态:提案書寫中(提案已在 2012-02-13 寄出,觸發了若干討論,尚未進規範)
資料:當前作法:现在是所有img的src统一先设置为transparent.gif之类的,加个data-src="xxx"作为真正的src,onscroll事件监听,判断所有img标签,找出合理的,改src = getAttribute('data-src')
表单里按Enter跳到下一个input怎么写
详情:
GZhang(173574) 14:37:24
话说,最近有不少人问我一个东西,就是在表单里按Enter跳到下一个input怎么写
GZhang(173574) 14:37:36
我觉得写这东西很烦啊,又是tabindex又是document order的……
GZhang(173574) 14:37:46
于是我就在想,标准上这东西能配置多好
提出者:GZhang
当前状态:只有對話紀錄
滚动事件应该分scrollstart,scroll和scrollend
详情:
GZhang(173574) 22:53:40
还有就是scroll的触发频度(像素?毫秒?)也最好有个统一
GZhang(173574) 22:53:57
做个完整的模型嘛要,start-ing-end
GZhang(173574) 22:54:23
resize事件也是
Rayi(81783959) 22:54:29
这个有点像。。beforemousedown一样。。
GZhang(173574) 22:54:33
start/end模型用来做记录比较有用
GZhang(173574) 22:54:46
比如start的时候记下top,end的时候算下滚动的距离,再top+distance
提出者:GZhang
当前状态:只有對話紀錄
disabled
應該適用於更多元素
详情:W3Help 相關問題
提出者:kennyluck
当前状态:初步讨论中
討論:
- 个人理想:所有有activation behavior的,disable属性可用,且disable后禁止所有activation behavior — Gzhang
- (<a disabled>) 在模拟button的时候也比较方便。可以直接disable,然后tab过去不能被focus,很方便的。 — dh
- 至少有 @contenteditable 的元素應該要可以用 disabled — Kang-Hao (Kenny) Lu 23:49, 17 February 2012 (UTC)