使用JavaScript设置“-moz-column-width”

问题描述:

这适用于Chrome,但不适用于FireFox。使用JavaScript设置“-moz-column-width”

CSS:

​​

JavaScript的(小例子):

_setColumnWidth = function(column_width) { 
    var el, els, w, _i, _len; 
    console.log("_setColumnWidth!!!"); 
    els = document.querySelectorAll(".song"); 
    w = column_width + "em"; 
    console.log(w); 
    for (_i = 0, _len = els.length; _i < _len; _i++) { 
     el = els[_i]; 
     console.log(el); 
     el.style["-webkit-column-width"] = w; 
     el.style["-moz-column-width"] = w; 
     el.style["column-width"] = w; 
    } 
    }; 

window.onload = function() { 
    console.log("OK!!!"); 
    _setColumnWidth(30); 
} 

标记:

<div class="song"> 
    <pre> 
I been a-havin' some hard travellin', I thought you knowed, 
             A7 
I been a-havin' some hard travellin', way down the road, 
D     D7    G    G7 
I been a-havin' some hard travellin', hard ramblin', hard gamblin', 
D     A    D 
I been havin' some hard travellin', Lord. 
    ... 
    </pre> 
</div> 

它看起来像-moz-column-width不被设置在所有。普拉克:http://plnkr.co/edit/PA05b5SPGPmmq13Y9PtR?p=preview

你可以看到,这并在Chrome浏览器:http://pdh.github.io/meltodies/#/Hard%20Travellin::df42773501228606be03d90d583c2f6c

无论出于何种原因,el.style['-moz-column-width'] = '15em';将无法​​正常工作。相反,请尝试:

el.style.MozColumnWidth = '15em'; 
+0

CamelCased属性名称也可以使用括号表示法,但不应以小写字母开头,即'mozColumnWidth'。 – Teemu 2014-10-17 21:34:01

+0

也许'mozColumnWidth'或'MozColumnWidth'将起作用。后者绝对有效。 – 2014-10-17 21:40:13