かなり簡単な質問かもしれませんが、何とか解決できないようです。選択したテキストを.trim()する方法は?
テーブルからtd要素内のテキストを選択できます。問題は、私が取り除きたいテキストの中にタブがあることです。
私はこれまでのところ、これを試してみました:
function getSelectionText(){
var selectedText = ""
if (window.getSelection){ // all modern browsers and IE9+
selectedText = window.getSelection().toString().trim()
}
return selectedText
}
$('td').click(function(){
var selected = getSelectionText();
document.execCommand('copy');
});
は、悲しいことに、これはまだその背後にあるタブでコピーしたテキストを返します。パスワードフィールドにパスワードをコピーしようとすると、実際には迷惑になります。なぜなら、ユーザーはドット付きパスワードにタブがあるのを見ることができないからです。
誰かが助けてくれることを祈っています。
EDIT:
私は少し受け入れ答えを変更し、もうgetSelectionText()関数を必要としません。これが同じ問題を抱えている人に役立つことを願っている。
$('td').click(function(){
var selected = $(this).html();
var inp = $("<input/>",{id:"copySelected"});
$("body").append(inp)
inp.val(selected);
inp[0].select();
document.execCommand('copy');
inp.remove();
});
すべてのクリックはあなたがjQueryのように、使用のjQueryのバージョンでサポートされているすべてのブラウザで動作するはずですどの$.trim()
$.trim(window.getSelection().toString())
を使用していクリップボード
が働いているはず何 –
これで選択するために知ってそうでない場合は、そのハード、あまりにもあなたのHTMLマークアップを追加します。しかし、代わりに、あなたは 'str.replace(\(^ \ s | \ s $)/、 '')' – Rajesh
@ MasterYodaを試すことができます。選択はtd要素上にありますので$( 'td') –