summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@integralblue.com>2010-04-23 12:13:46 -0400
committerCraig Andrews <candrews@integralblue.com>2010-04-23 12:14:55 -0400
commit1de8877cad94e1f9252b1f6ccdea57ff3339c367 (patch)
tree6c5fe7a4d97e46b5e64f2d6437b235d15ea3dfb1
parentf852a1931b352ede261ec4597abdbb63683cc9a8 (diff)
Shorten text after paste operation
Abort ajax shorten request if the user pastes/pushes another key
-rw-r--r--plugins/ClientSideShorten/shorten.js27
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);
+ });
+ });
+
})();