如何通过javascript从CSS类获取样式属性ime-mode?

问题描述:

我用如何通过javascript从CSS类获取样式属性ime-mode?

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

有像

.imeoff{ime-mode: disabled} 

我想读的财产IME模式用的CssClass imeoff输入,但上面的代码只是在IE和Firefox上运行,而不是在铬工作。

你有什么建议吗?

“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

你的代码是正确的,我不认为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