好吧..我有一个输入框,可以捕获paste
事件并检查粘贴的文本/字符串是否是 youtube url。如果是,它会将数据转发给一些 PHP 进行处理..
结果json数据显示在这里$('.printdata').append(response);
顾虑:
我的代码中没有的是识别整个文本或 youtube 链接是否被删除/剪切/删除。它还应该删除显示的数据。
接受第一个 youtube URL,如果找到多个 youtube URL,将第一个链接发送到 PHP,然后忽略其他链接,将其显示为文本。
我的解决方法
我的想法(不确定)是将一些
onchange()
事件放在某处以识别$("$input")
元素正在被改变。只接受一个事件,如果重复
paste
则忽略。paste()
-不确定这是否是正确的方法。
要测试我试图解释的内容,请在文本字段中输入任何 youtube url,它应该会显示一些内容。
然后删除url,数据仍然存在。或连续添加另一个 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);
});
}
});