Wiem, że to stare pytanie, ale miałem ten sam problem i natknąłem się na this blog post from Front End Tricks And Magic, który zadziałał dla mnie, więc pomyślałem, że podzielę się tym, na co ludzie są ciekawi. Istotą bloga jest to, że MOŻESZ wykonać elipsę na wejściu w IE, jednak tylko wtedy, gdy dane wejściowe mają atrybut tylko do odczytu.
Oczywiście w wielu scenariuszach nie chcemy, aby nasze dane wejściowe miały atrybut tylko do odczytu. W takim przypadku możesz użyć JavaScript, aby go przełączyć. Ten kod jest pobierany bezpośrednio z bloga, więc jeśli znajdziesz tę odpowiedź jako pomocną, możesz rozważyć sprawdzenie bloga i pozostawienie komentarza uznania autorowi.
HTML:
<div class="long-value-input-container">
<input type="text"
value="sdghkjsdghhjdfgjhdjghjdfhghjhgkdfgjnfkdgnjkndfgjknk" class="long-
value-input" readonly />
</div>
CSS:
.long-value-input {
width: 200px;
height: 30px;
padding: 0 10px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
JavaScript (jQuery)
// making the input editable
$('.long-value-input').on('click', function() {
$(this).prop('readonly', '');
$(this).focus();
})
// making the input readonly
$('.long-value-input').on('blur', function() {
$(this).prop('readonly', 'readonly');
});
Po prostu zaznaczone i 'text-overflow: ellipsis' działa wspaniale na elementach' input' (przynajmniej w Chrome). – talsraviv
Przyjęta odpowiedź nie wydaje się odpowiadać na to pytanie. – jennEDVT