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;
		}
	};

}