对我来说真正的交易问题,因为我不知道如何解决它。
我编写的 jQuery 脚本应该获取“粘贴”操作的输入值,并通过 ajax 将其传递给 codeigniter 控制器。
它实际上工作正常,但前提是我第二次(以及更长时间)粘贴该值。当我将某些 div 或其他 DOM 元素的 on("paste") 更改为 on("click") 时,它也可以正常工作。
脚本:
<script type="text/javascript">
$("#link").on("paste", function(){
$("#thumbs").empty().html("<p>loading</p>");
var postData = {
'url' : $("#link").val()
};
$.ajax({
type: "POST",
url: "/thumb/ajax/",
data: postData , //assign the var here
success: function(msg){
$("#thumbs").html( "Data Saved: " + msg );
}
});
});
任何帮助,将不胜感激
编辑:还有一个提示。
这个特定脚本中的 val() 实际上在粘贴操作之前取值。如果我在这个输入上写了一些东西,然后删除它并粘贴其他东西,它实际上会将我写的值传递给控制器,而不是我粘贴的值。
EDIT2:好的,我很确定这是粘贴的 jQuery 问题。
<script type="text/javascript">
$("#link").on("paste", function(){
$("#thumbs").empty().html("<p>loading</p>");
var postData = {'url' : $("#link").val() };
$("#thumbs").html($("#link").val());
});
</script>
此脚本应将输入值添加到 div#thumbs。它不适用于第一次粘贴操作。其次,它确实有效。
EDIT3:我的朋友给了我一个提示。on("paste") 适用于“粘贴”动作,在粘贴实际完成之前。如果有人给我提示如何在粘贴后超时以获取值,我可以继续。