<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : Corriger la largeur des options d’une liste select dans IE et afficher le contenu masqué</title>
	<atom:link href="http://www.blackotine.fr/javascript/corriger-la-largeur-des-options-dune-liste-select-dans-ie-et-afficher-le-contenu-masque/feed" rel="self" type="application/rss+xml" />
	<link>http://www.blackotine.fr/javascript/corriger-la-largeur-des-options-dune-liste-select-dans-ie-et-afficher-le-contenu-masque</link>
	<description>Blog d&#039;un intégrateur et développeur Web</description>
	<lastBuildDate>Tue, 24 May 2011 21:33:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Par : Nicolas F.</title>
		<link>http://www.blackotine.fr/javascript/corriger-la-largeur-des-options-dune-liste-select-dans-ie-et-afficher-le-contenu-masque#comment-125</link>
		<dc:creator>Nicolas F.</dc:creator>
		<pubDate>Thu, 06 Jan 2011 13:58:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.blackotine.fr/?p=183#comment-125</guid>
		<description>Slt,

Sympa ton code. Je me suis permis de m&#039;inspirer de ce dernier, je donne donc le résultat ci-dessous. J&#039;ai pas changé grand chose, juste mis le tout sous la forme d&#039;un objet et supprimé les écouteurs d&#039;évènements inutiles, les fonctions anonymes.


if(Browser.Engine.trident)
	{
	var IESelectsManager=new Class({
		initialize: function()
			{
			this.selects=$$(&#039;select&#039;);
			this.selects.each(this.initializeSelect, this);
			},
		initializeSelect: function(select)
			{
			var initSize = select.getStyle(&#039;width&#039;), maxSize = 0;
			$(select).set(&#039;style&#039;,&#039;width:auto;&#039;);
			maxSize=select.offsetWidth;
			$(select).set(&#039;style&#039;,&#039;width:none;&#039;);
			if (maxSize &gt; initSize.substring(0,initSize.length-2))
				{
				select.addEvent(&#039;mousedown&#039;,this.handleSelectChoice.bind(this));
				window.document.addEvent(&#039;click&#039;, this.handleOutsideClick.bind(this));
				select.addEvent(&#039;change&#039;,this.handleSelectChange.bind(this));
				}
			},
		handleOutsideClick: function(event)
			{
			if(event.target.nodeName.toLowerCase() != &#039;select&#039;)
				{
				this.selects.each(this.handleSelectBlur,this);
				}
			},
		handleSelectChange: function(event)
			{
			if(event.target.nodeName.toLowerCase() == &#039;select&#039;)
				{
				this.handleSelectBlur(event.target);
				}
			},
		handleSelectBlur: function(select)
			{
			$(select).set(&#039;style&#039;,&#039;width:none; position:static;&#039;);
			},
		handleSelectChoice: function(event)
			{
			var select=event.target;
			$(select).set(&#039;style&#039;,&#039;width:auto; position:absolute; left:&#039;+$(select).getPosition().x+&#039;px; top:&#039;+$(select).getPosition().y+&#039;px;&#039;);
			}
		});
	new IESelectsManager();
	}</description>
		<content:encoded><![CDATA[<p>Slt,</p>
<p>Sympa ton code. Je me suis permis de m&#8217;inspirer de ce dernier, je donne donc le résultat ci-dessous. J&#8217;ai pas changé grand chose, juste mis le tout sous la forme d&#8217;un objet et supprimé les écouteurs d&#8217;évènements inutiles, les fonctions anonymes.</p>
<p>if(Browser.Engine.trident)<br />
	{<br />
	var IESelectsManager=new Class({<br />
		initialize: function()<br />
			{<br />
			this.selects=$$(&#8216;select&#8217;);<br />
			this.selects.each(this.initializeSelect, this);<br />
			},<br />
		initializeSelect: function(select)<br />
			{<br />
			var initSize = select.getStyle(&#8216;width&#8217;), maxSize = 0;<br />
			$(select).set(&#8216;style&#8217;,'width:auto;&#8217;);<br />
			maxSize=select.offsetWidth;<br />
			$(select).set(&#8216;style&#8217;,'width:none;&#8217;);<br />
			if (maxSize &gt; initSize.substring(0,initSize.length-2))<br />
				{<br />
				select.addEvent(&#8216;mousedown&#8217;,this.handleSelectChoice.bind(this));<br />
				window.document.addEvent(&#8216;click&#8217;, this.handleOutsideClick.bind(this));<br />
				select.addEvent(&#8216;change&#8217;,this.handleSelectChange.bind(this));<br />
				}<br />
			},<br />
		handleOutsideClick: function(event)<br />
			{<br />
			if(event.target.nodeName.toLowerCase() != &#8216;select&#8217;)<br />
				{<br />
				this.selects.each(this.handleSelectBlur,this);<br />
				}<br />
			},<br />
		handleSelectChange: function(event)<br />
			{<br />
			if(event.target.nodeName.toLowerCase() == &#8216;select&#8217;)<br />
				{<br />
				this.handleSelectBlur(event.target);<br />
				}<br />
			},<br />
		handleSelectBlur: function(select)<br />
			{<br />
			$(select).set(&#8216;style&#8217;,'width:none; position:static;&#8217;);<br />
			},<br />
		handleSelectChoice: function(event)<br />
			{<br />
			var select=event.target;<br />
			$(select).set(&#8216;style&#8217;,'width:auto; position:absolute; left:&#8217;+$(select).getPosition().x+&#8217;px; top:&#8217;+$(select).getPosition().y+&#8217;px;&#8217;);<br />
			}<br />
		});<br />
	new IESelectsManager();<br />
	}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Charline</title>
		<link>http://www.blackotine.fr/javascript/corriger-la-largeur-des-options-dune-liste-select-dans-ie-et-afficher-le-contenu-masque#comment-117</link>
		<dc:creator>Charline</dc:creator>
		<pubDate>Mon, 27 Sep 2010 15:28:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.blackotine.fr/?p=183#comment-117</guid>
		<description>Je n&#039;arrive pas à installer ce code dans prestashop... l&#039;erreur javascript me dis &quot;objet requis&quot; une idée sur les &quot;variables&quot; à changer ?</description>
		<content:encoded><![CDATA[<p>Je n&#8217;arrive pas à installer ce code dans prestashop&#8230; l&#8217;erreur javascript me dis &laquo;&nbsp;objet requis&nbsp;&raquo; une idée sur les &laquo;&nbsp;variables&nbsp;&raquo; à changer ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : alix</title>
		<link>http://www.blackotine.fr/javascript/corriger-la-largeur-des-options-dune-liste-select-dans-ie-et-afficher-le-contenu-masque#comment-114</link>
		<dc:creator>alix</dc:creator>
		<pubDate>Mon, 21 Jun 2010 13:28:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.blackotine.fr/?p=183#comment-114</guid>
		<description>Bonjour, je débute en javascript et je suis très intéressée par votre astuce.
Seulement je n&#039;arrive pas à rendre le script exécutable que sous internet explorer... j&#039;ai bien cherché sur google mais je piétine... un peu d&#039;aide ne serais pas de refus.

Merci</description>
		<content:encoded><![CDATA[<p>Bonjour, je débute en javascript et je suis très intéressée par votre astuce.<br />
Seulement je n&#8217;arrive pas à rendre le script exécutable que sous internet explorer&#8230; j&#8217;ai bien cherché sur google mais je piétine&#8230; un peu d&#8217;aide ne serais pas de refus.</p>
<p>Merci</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Julien</title>
		<link>http://www.blackotine.fr/javascript/corriger-la-largeur-des-options-dune-liste-select-dans-ie-et-afficher-le-contenu-masque#comment-113</link>
		<dc:creator>Julien</dc:creator>
		<pubDate>Tue, 15 Jun 2010 22:35:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.blackotine.fr/?p=183#comment-113</guid>
		<description>Le plus simple reste encore de fixer la bonne largeur au select dés le départ. Mais pour des raisons esthétique c&#039;est vrai que c&#039;est pas toujours possible.

Peut servir</description>
		<content:encoded><![CDATA[<p>Le plus simple reste encore de fixer la bonne largeur au select dés le départ. Mais pour des raisons esthétique c&#8217;est vrai que c&#8217;est pas toujours possible.</p>
<p>Peut servir</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Jean</title>
		<link>http://www.blackotine.fr/javascript/corriger-la-largeur-des-options-dune-liste-select-dans-ie-et-afficher-le-contenu-masque#comment-111</link>
		<dc:creator>Jean</dc:creator>
		<pubDate>Sun, 09 May 2010 09:26:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.blackotine.fr/?p=183#comment-111</guid>
		<description>Bnjour, ton code marche bien, merci beaucoup!</description>
		<content:encoded><![CDATA[<p>Bnjour, ton code marche bien, merci beaucoup!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

