我想检查 URL 是否已输入到 textarea 中。这是一个检查 textarea 的函数:
$('#text textarea').on('input paste', function() {
checkUrl($(this));
});
只允许一个 URL,因此在找到 URL 处理程序后使用 off 取消绑定:
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;
}
});
}
粘贴 URL (CTRT+V) 后,函数 checkUrl 不仅被调用一次,而且被调用两次。Ajax 也被触发了两次。
提前非常感谢。
编辑
我已经根据这个更改了我的代码:
$('#text textarea').bind('paste', function() {
var _this = $(this);
setTimeout( function() {
checkUrl(_this);
}, 100);
});
它现在只使用粘贴处理程序,但主要问题仍然存在......