使用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';
CamelCased属性名称也可以使用括号表示法,但不应以小写字母开头,即'mozColumnWidth'。 – Teemu 2014-10-17 21:34:01
也许'mozColumnWidth'或'MozColumnWidth'将起作用。后者绝对有效。 – 2014-10-17 21:40:13