Safari中的Javascript并不总是在运行

时间:2010-10-27 14:02:29

标签: javascript jquery safari

我遇到Safari问题。我有一个使用jQuery的基本脚本,它对表单字段进行了一些更改,并为其添加了一些行为。当我使用文档就绪方法运行此脚本时,它在Firefox中很好,但在Safari中它并不总是运行初始更改。我可以点击刷新并使其运行良好的4/5次,但有时它不会像它应该的那样初始化。

这是在本地服务器上运行所以刷新非常快,我想知道在页面加载完成之前javascript是否正在执行。我已经尝试在页面底部调用脚本而不是标题,但这没有帮助。我记得听说不同的浏览器在不同的时间准备文件,并认为这有助于补救它,但它没有,我找不到任何关于该主题的进一步信息。

我遗失的任何可能是问题或解决方法?脚本本身似乎没有错。我使用jQuery颜色插件,除了它只是jQuery和我的脚本。

总是感谢帮助,谢谢大家!

这是代码。 initSearchBox()使用标题中的以下行运行。

$(document).ready(function(){initSearchBox();});

function randomFieldValue(){

var options = new Array(
    'Lorem',
    'Ipsum',
    'Dolor',
    'Sit',
    'Amet'
) 

t = Math.floor(Math.random()*(options.length - 1));

return options[t] ;

}

function initSearchBox(){

instanceDefText = randomFieldValue() ;

$('#search-form-field')
    .attr('value',instanceDefText)
    .css('color','#fff')
    .animate({color:'#999'},1500)
    .focus(function(){
        if($(this).attr('value') == instanceDefText){
            $(this).attr('value','')
                .css('color','#000')
        }
    })
    .blur(function(){
        if($(this).attr('value') == ''){
            instanceDefText = randomFieldValue() ;
            $(this).attr('value',instanceDefText)
                .css('color','#fff')
                .animate({color:'#999'},1500)
        }
    });

}

0 个答案:

没有答案