我有以下代码块,当您单击它们时会清除输入字段:
$('.clearinputtext').focus(function(){
if($(this)[0].defaultValue==$(this).val()) $(this).val('');
});
$('.clearinputtext').blur(function(){
if($(this).val()=='') $(this).val($(this)[0].defaultValue);
});
我也需要它在 iframe 中运行,这可能吗?
编辑:我忘了提到 iframe 是使用灯箱动态加载的,所以当页面加载时它不存在。
解决方案
我设法解决了它。可能不是最好的解决方案,但现在可以了。由于当我单击链接时 iframe 会加载一个灯箱,因此当页面加载时它不存在,因此我需要在添加 iframe 后运行它的代码。我通过使用afterShow
灯箱的事件处理程序来做到这一点。
以下是相关代码:
afterShow: function() {
// First get html content of iframe
var content = $('.fancybox-inner iframe').contents().find('html');
//Then just apply same code to the iframe
$(content).find('.clearinputtext').focus(function(){
if($(this)[0].defaultValue==$(this).val()) $(this).val('');
});
$(content).find('.clearinputtext').blur(function(){
if($(this).val()=='') $(this).val($(this)[0].defaultValue);
});
}