これは私がやったことです。ほとんどのツールチップスクリプトでは、ツールチップを保存する関数を実行する必要があります。これはjQueryの例です:
$.when($('*').filter(function() {
return $(this).css('text-overflow') == 'ellipsis';
}).each(function() {
if (this.offsetWidth < this.scrollWidth && !$(this).attr('title')) {
$(this).attr('title', $(this).text());
}
})).done(function(){
setupTooltip();
});
省略記号cssをチェックしたくない場合は、次のように簡略化できます。
$.when($('*').filter(function() {
return (this.offsetWidth < this.scrollWidth && !$(this).attr('title'));
}).each(function() {
$(this).attr('title', $(this).text());
})).done(function(){
setupTooltip();
});
私の周りには「いつ」があるので、すべてのタイトルが更新されるまで「setupTooltip」関数は実行されません。「setupTooltip」をツールチップ関数に置き換え、*をチェックする要素に置き換えます。*あなたがそれを残した場合、それらすべてを通過します。
ブラウザのツールチップを使用してタイトル属性を更新するだけの場合は、次のように単純化できます。
$('*').filter(function() {
return $(this).css('text-overflow') == 'ellipsis';
}).each(function() {
if (this.offsetWidth < this.scrollWidth && !$(this).attr('title')) {
$(this).attr('title', $(this).text());
}
});
または省略記号のチェックなし:
$.when($('*').filter(function() {
return (this.offsetWidth < this.scrollWidth && !$(this).attr('title'));
}).each(function() {
$(this).attr('title', $(this).text());
});
text-overflow:ellipsis;
Firefoxですべての仕事をしませんが-より多くのためにこの質問を参照してください。stackoverflow.com/questions/4927257/...