MozTW 討論區 https://forum.moztw.org/ |
|
請教 element.setAttributeNS 的用法 https://forum.moztw.org/viewtopic.php?f=18&t=28851 |
第 1 頁 (共 1 頁) |
發表人: | bootleq [ 2009-11-27, 17:26 ] |
文章主題 : | 請教 element.setAttributeNS 的用法 |
我對不明白 xml namespace 感到一籌莫展…… 附檔用一個 xul 文件為例子,抱歉請用 Firefox 測試。 附加檔案: xul:window 元素有一個 title 屬性,用來改變視窗顯示的標題: https://developer.mozilla.org/en/XUL/window#a-title 我的目的就是「動態改視窗標題」, 範例檔案的 Btn 1, Btn 2 都是執行 setAttribute,跑起來一如預期,視窗標題也會變。 但不解的是把滑鼠移到第一行的 <html:p> 時,會看到 tooltip 文字跳出來。 以我的知識,不知是否為 Bug 257780 相似情況,title 被錯誤地用作 tooltip https://bugzilla.mozilla.org/show_bug.cgi?id=257780 而 html 元素在沒有 title 時,應該找相關父元素的 title 來用(倒是可以設 title=" " 避免沿用),但是 window 不是 html 元素啊。 第一個問題: title 的值可以用 element.setAttribute('title', value) 設定。 在此用 element.setAttributeNS(namespace, 'title', value) 是否更明確指出我要設的是 xul:title? 第二個問題: 嘗試按 Btn 3, 4, 5, 6 都無法改變視窗標題,我是不是 namespace 參數根本寫錯了? 開 Firebug 發現這些 Btn 都會讓 window 元素多出 title 屬性、甚至複數的 title 屬性…… 而執行 win.hasAttributeNS(ns.xul, 'title');(變數請見原始碼)時,只有 Btn 5, 6 為 true, 執行 win.hasAttribute('title'); 則剩下 Btn 5 結果為 true。 我的理解是(Btn 1, 2, 5)setAttribute 和 setAttributeNS(ns.xul, ...) 相同,都成功設了 xul:title 這個屬性;然而視窗標題都沒變,實在不解。 註:應該不是 xul window 的 bug,我把按鈕換成修改 button 元素的 label 值,結果也是類似。 |
發表人: | JackieKu [ 2009-12-27, 23:26 ] |
文章主題 : | Re: 請教 element.setAttributeNS 的用法 |
我稍微測試一下 似乎是Bug 257780描述的問題類似 我嘗試在xul:window元素直接加上title="foo" 滑鼠移到html:p還是會看到tooltip |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |