要素の改行を検出するプラグインが必要です。コードは次のとおりです。
$.fn.inlineOffset = function (){
if ($(this).css('text-indent') == '0px' && $(this).height() != 17) {
var el = $('<i/>').css('display', 'inline').insertBefore(this[0]);
pos = el.offset();
el.remove();
return pos;
}
else {
var pos = $(this).offset()
return pos;
}
};
ご覧のとおり、要素の高さが 17px の場合にのみ機能します。しかし、異なる高さを設定する必要がある場合はどうすればよいでしょうか? 新しい行の最初の文字の前に要素を追加しようとすると、親の左上隅に表示され、テキスト行が壊れている場合にのみ追加する必要があるため、この解決策が必要です。