我想檢查URL是否已輸入到textarea中。這是檢查textarea的一個功能:jQuery on(「輸入粘貼」)在粘貼後觸發兩次
$('#text textarea').on('input paste', function() {
checkUrl($(this));
});
只有一個URL是允許的,所以之後找到的URL處理器是解除綁定使用關:
function checkUrl(elem) {
var words = elem.val().split(/\s+/);
$.each(words, function(index, element) {
if (isValidURL($.trim(element))) {
$.ajax({...}); // Ajax call
elem.off('input paste');
return;
}
});
}
功能checkUrl不僅叫粘貼URL後一次但兩次(CTRT + V)。 Ajax也被觸發兩次。
非常感謝。
編輯
我根據this改變了我的代碼:
$('#text textarea').bind('paste', function() {
var _this = $(this);
setTimeout(function() {
checkUrl(_this);
}, 100);
});
它現在用的膏只處理工作,但主要的問題仍然存在......
'input'包含所有輸入方法,包括粘貼。是否有明確添加'paste'的理由? – pimvdb
不,我剛剛看到「輸入粘貼」這裏http://stackoverflow.com/questions/686995/jquery-catch-paste-input –
我只試過輸入,但它是一樣的 –