www.gusucode.com > 一个支持火狐浏览器的自动显示省略号插件源码程序 > 一个支持火狐浏览器的自动显示省略号插件/支持FF的省略符/支持FF的省略符/moz-text-overflow.js
function initMozTextOverflow(obj) { function re_render() { doMozTextOverflow(obj); } setTimeout(re_render,0); } function doMozTextOverflow(obj) { function _overflow(e) { var el = e.currentTarget; el.className="_textOverflow"; } function _underflow(e) { var el = e.currentTarget; el.className="_textUnderflow"; } obj.className="_textUnderflow"; obj.addEventListener("overflow", _overflow, false); obj.addEventListener("underflow", _underflow, false); obj.ins = document.createElement("ins"); obj.ins.innerHTML="…"; obj.appendChild(obj.ins); obj.onmousedown = function(e) { this.selectStartX = e.clientX - document.getBoxObjectFor(this).x; } obj.onmouseup = function(e) { this.selectStartX = null; } obj.onmousemove = function(e) { if(this.selectStartX!=null ) { var mx = e.clientX - this.selectStartX; var ex = this.offsetWidth - this.selectStartX; if( ( ex - mx) < (this.ins.offsetWidth+3) ) { if(this.className!="_textUnderflow") { this.className="_textUnderflow"; this.scrollLeft=0; var box = document.createElement("input"); box.setAttribute("type","text"); box.value=1111 this.appendChild(box); box.select(); this.removeChild(box); this.focus(); } } else { if(this.className!="_textOverflow") { this.className="_textOverflow" } } return false; } }; }