我正在使用iFrame来加载在文本框中指定其网址的网页。这是我的代码:
<iframe id="import_url_iframe">
</iframe>
我使用jQuery change事件来更改文本框中的url:
$("#wiki_form_url").change(function(){
var value = $(this).val();
$("#import_url_iframe").attr("src", value);
});
如果我在文本框中指定网址后点击外面,这可以正常工作。但是,当我在文本框中写入url时,我需要这样做,它应该在iFrame中显示页面(没有任何外部点击)。我怎么能做到这一点?
答案 0 :(得分:2)
使用keydown事件,可能会有延迟,以便在延迟后加载(即当用户未键入X秒时)。所以:
var timeout = null;
$("#wiki_form_url").on('keydown', function(){
timeout = setTimeout(function(){
// load URL here
}, 1000);
});
并实施@ JCOC611的建议,从here获取代码,同时添加此代码:
$("#wiki_form_url").on('keydown', function (e){
if(e.keyCode == 13){
timeout = null;
// Load URL here
}
})'
您可以更进一步,并在文本框失去焦点时添加处理程序
$("#wiki_form_url").on('focusout', function (){
timeout = null;
// Load URL here
})'