diff options
author | Craig Andrews <candrews@integralblue.com> | 2010-04-23 12:13:46 -0400 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2010-04-23 12:14:55 -0400 |
commit | 1de8877cad94e1f9252b1f6ccdea57ff3339c367 (patch) | |
tree | 6c5fe7a4d97e46b5e64f2d6437b235d15ea3dfb1 | |
parent | f852a1931b352ede261ec4597abdbb63683cc9a8 (diff) |
Shorten text after paste operation
Abort ajax shorten request if the user pastes/pushes another key
-rw-r--r-- | plugins/ClientSideShorten/shorten.js | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/plugins/ClientSideShorten/shorten.js b/plugins/ClientSideShorten/shorten.js index b3a614633..0db78ecea 100644 --- a/plugins/ClientSideShorten/shorten.js +++ b/plugins/ClientSideShorten/shorten.js @@ -31,21 +31,11 @@ })(jQuery,'smartkeypress'); - $(document).ready(function(){ - $noticeDataText = $('#'+SN.C.S.NoticeDataText); - $noticeDataText.smartkeypress(function(e){ - if(e.charCode == '32') { - shorten(); - } - }); - $noticeDataText.bind('paste', shorten); - }); - function shorten() { $noticeDataText = $('#'+SN.C.S.NoticeDataText); var original = $noticeDataText.val(); - $.ajax({ + shortenAjax = $.ajax({ url: $('address .url')[0].href+'/plugins/ClientSideShorten/shorten', data: { text: $noticeDataText.val() }, dataType: 'text', @@ -56,4 +46,19 @@ } }); } + + $(document).ready(function(){ + $noticeDataText = $('#'+SN.C.S.NoticeDataText); + $noticeDataText.smartkeypress(function(e){ + if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort(); + if(e.charCode == '32') { + shorten(); + } + }); + $noticeDataText.bind('paste', function() { + if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort(); + setTimeout(shorten,1); + }); + }); + })(); |