【发布时间】:2012-01-28 13:45:43
【问题描述】:
对我来说真正的交易问题,因为我不知道如何解决它。
我编写的 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() 实际上在粘贴操作之前 取值。 如果我在此输入中写入一些内容,然后将其删除并粘贴其他内容,它实际上会将我写入的值传递给控制器,而不是我粘贴的值。
编辑2: 好的,我很确定这是粘贴的 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") 适用于“粘贴”动作,在粘贴实际完成之前。如果有人提示我如何在粘贴后超时以获取值,我可以继续。
【问题讨论】: