6

Intercept paste event in Javascriptから次のコードを取得しました。

貼り付ける前に取得する必要があります。そうしないと、保存する必要がある「\ n」文字が失われます。

ID を持つ 1 つの要素のクリップボード データをインターセプトするのに最適です。すべての入力要素で動作する必要があります。jQuery を使用して入力要素を取得しようとすると、何も取得されません。

どんな助けでも大歓迎です。

var paster = function () {
    var myElement = document.getElementByTagName('pasteElement');
    myElement.onpaste = function(e) {
        var pastedText = undefined;
        if (window.clipboardData && window.clipboardData.getData) { // IE
            pastedText = window.clipboardData.getData('Text');
        } else if (e.clipboardData && e.clipboardData.getData) {
            pastedText = e.clipboardData.getData('text/plain');
        }
        processExcel(pastedText); // Process and handle text...
        return false; // Prevent the default handler from running.
    };
}
4

2 に答える 2

13

pasteドキュメントにイベント リスナーを追加するだけです。

document.addEventListener("paste", function (e) {
    console.log(e.target.id);
    var pastedText = undefined;
    if (window.clipboardData && window.clipboardData.getData) { // IE
        pastedText = window.clipboardData.getData('Text');
    } else if (e.clipboardData && e.clipboardData.getData) {
        pastedText = e.clipboardData.getData('text/plain');
    }
    e.preventDefault();
    e.target.value = "You just pasted '" + pastedText + "'";
    return false;
});

フィドル

于 2014-07-02T21:03:35.023 に答える