2016-01-22 92 views
0

我用如何通過javascript從CSS類獲取樣式屬性ime-mode?

style = window.getComputedStyle(element), 
    top = style.getPropertyValue('ime-mode'); 

有像

.imeoff{ime-mode: disabled} 

我想讀的財產IME模式用的CssClass imeoff輸入,但上面的代碼只是在IE和Firefox上運行,而不是在鉻工作。

你有什麼建議嗎?

回答

0

「ime-mode」是一些在某些瀏覽器中實現的屬性,這是有問題的,並且由此規範正式廢除。

Chrome瀏覽器將不支持輸入法模式 enter image description here

有一個新的DOM API CSS.supports檢查CSS屬性的有效性。 FF,Opera(as supportsCSS)和Chrome Canary已經實現了這種方法。

嘗試CSS.supports("ime-mode", "disabled"),這將返回false。

+0

雅,我明白了,所以我想讀取屬性以顯示警報 – jack

+0

JS無法讀取DOM中不存在的屬性。如果您的代碼在chrome上返回空字符串,則必須假定該屬性無效。 –

+0

好的,謝謝。那麼你有什麼建議來獲得無效的財產? – jack

0

你的代碼是正確的,我不認爲Chrome的識別ime-mode爲有效的CSS屬性,看看這個fiddle

function getTheStyle(styleName){ 
    var elem = document.getElementById("elem-container"); 
    var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue(styleName); 
    alert(theCSSprop); 
    document.getElementById("output").innerHTML = theCSSprop; 
    } 
    getTheStyle("height") ; 
    getTheStyle("ime-mode") ; 

你看不懂這是無效的財產because

Javascript只能訪問DOM,而不是代碼。所以不,有 沒有辦法訪問從JavaScript瀏覽器本身 不支持的屬性。

+0

的答案好,謝謝。那麼你有什麼建議來獲得無效的財產? – jack

+0

@jack,nope,我不認爲有可能獲得瀏覽器認爲無效的屬性,並拒絕將其加載到DOM。如果你不能將它加載到DOM,JS無法訪問它。 – gurvinder372

相關問題