我有这个功能,当用户粘贴到textarea时触发。我有一个定时函数,在此函数内部触发,以便函数可以获取用户粘贴的textarea中的文本。
我的问题是在safari中,这个函数每次都会触发两次,我无法解决原因。
function Func1(){
var valu = $('#thoughts').val();
$(function () {
$.post("paste.php", { uid: $('#uid').val(), paste: $('#thoughts').val()},function(data){
$('#pasteditems').prepend($(data).hide().fadeIn(1300));
});
});
$('#thoughts').css('background','#FFFFFF');
$('#thoughts').css("color","#AAD1ED");
$('#thoughts').css("font-size","90px");
$('#thoughts').val("");
}
function OnPaste(){
$('#thoughts').css("font-size","18px");
$('#thoughts').css('background','#EEEEEE');
setTimeout("Func1()", 0800);
}
html
<textarea onblur='self.focus' wrap="physical" onpaste="OnPaste ()" id="thoughts" name="thoughts"></textarea>
答案 0 :(得分:2)
尝试:
setTimeout(Func1, 800);
Safari可能会在第一次读取该代码时评估该函数,因为您上面有括号。
答案 1 :(得分:0)
尝试更改setTimeout
功能:
setTimeout(Func1, 0800);
答案 2 :(得分:0)
这是另一种方式
setTimeout(function(){ Func1(); }, 800);