Warning:
This wiki has been archived and is now read-only.

提案与讨论

From HTML5 Chinese Interest Group Wiki
Jump to: navigation, search

document.watchSelector(selector,onchange);

详情:支持一个新的DOM API,document.watchSelector,可以监听页面加载过程中或者因为JS操作改变时引起的selector选中元素变化。例如

    document.watchSelector("#id, .cls",function(e){
        e.element.onclick = function(){......}
    });

提出者:winter(shaofeic)

当前状态:初步讨论中,未公开提出

GZhang:此段可以按以下模式实现

  1. 将querySelectorAll的返回值修改为live NodeList
  2. 要求相同的selector,多次调用querySelectorAll返回相同引用
  3. 给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,因此无法使用选择器/伪类选择**,需要进一步考虑方案

討論:

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)