好吧..我有一个捕获paste
事件的输入框,并检查粘贴的文本/字符串是否是youtube url。如果是,它会将数据转发给某些PHP进行处理..
结果json数据显示在$('.printdata').append(response);
关注:
我的代码中没有的是识别整个文本还是 删除/剪切/删除youtube链接。它也应该删除 显示数据。
接受第一个youtube网址,如果找到多个youtube网址,请将第一个链接发送给PHP,然后忽略其他链接,只显示为文本。
我的解决方法
我在想什么(不确定)是放一些onchange()
事件
识别$("$input")
元素的地方正在改变。
仅接受一个paste
事件,如果重复paste()
则忽略该事件。 - 不确定这是否是正确的做法。
测试我试图解释的内容,在文本字段中输入任何youtube网址,它应该显示一些东西。
然后删除网址,数据仍然存在。或者连续添加另一个URL。结果数据将叠加。
$(document).ready(function() {
//some regex
$("#input").bind('paste', function(e) {
var val = undefined;
//get pasted data
if(window.clipboardData && window.clipboardData.getData) {
val = window.clipboardData.getData('Text');
} else if (e.originalEvent.clipboardData && e.originalEvent.clipboardData.getData){
val = e.originalEvent.clipboardData.getData('text/plain');
}
//check for youtube URL
if (youtube.test(val)) {
var yurl = val.match(youtube)[0];
$.post("youtubejson.php?url="+ yurl, {
}, function(response){
$('.printdata').append(response);
});
}
});
答案 0 :(得分:1)
我不确定我是否理解你的问题,但我猜你的结果是堆叠而不是被替换,你可以使用.html(响应)代替.append(响应)来停止堆叠。