diff --git a/js/app/ui/system_signature.js b/js/app/ui/system_signature.js index 75361619..7ef8e8c1 100644 --- a/js/app/ui/system_signature.js +++ b/js/app/ui/system_signature.js @@ -2206,12 +2206,15 @@ define([ }); // event listener for global "paste" signatures into the page ------------------------------------------------- - $(document).off('paste').on('paste', function(e){ + $('body').off('paste').on('paste', function(e){ + let targetElement = $(e.target); // do not read clipboard if pasting into form elements if( - $(e.target).prop('tagName').toLowerCase() !== 'input' && - $(e.target).prop('tagName').toLowerCase() !== 'textarea' + targetElement.prop('tagName').toLowerCase() !== 'input' && + targetElement.prop('tagName').toLowerCase() !== 'textarea' || ( + targetElement.is('input[type="search"]') // Datatables "search" field bubbles `paste.DT` event :( + ) ){ let clipboard = (e.originalEvent || e).clipboardData.getData('text/plain'); diff --git a/public/js/v1.2.1/app/ui/system_signature.js b/public/js/v1.2.1/app/ui/system_signature.js index 75361619..7ef8e8c1 100644 --- a/public/js/v1.2.1/app/ui/system_signature.js +++ b/public/js/v1.2.1/app/ui/system_signature.js @@ -2206,12 +2206,15 @@ define([ }); // event listener for global "paste" signatures into the page ------------------------------------------------- - $(document).off('paste').on('paste', function(e){ + $('body').off('paste').on('paste', function(e){ + let targetElement = $(e.target); // do not read clipboard if pasting into form elements if( - $(e.target).prop('tagName').toLowerCase() !== 'input' && - $(e.target).prop('tagName').toLowerCase() !== 'textarea' + targetElement.prop('tagName').toLowerCase() !== 'input' && + targetElement.prop('tagName').toLowerCase() !== 'textarea' || ( + targetElement.is('input[type="search"]') // Datatables "search" field bubbles `paste.DT` event :( + ) ){ let clipboard = (e.originalEvent || e).clipboardData.getData('text/plain');