如何让这个功能只运行一次?

时间:2012-11-11 18:03:11

标签: javascript jquery

为给定的一组元素DOM执行的第一个脚本,附加到DOM脚本第二个的第一个元素。

脚本编号:

function ptmedia(){
$('.ptmcss').eq(0).html('<div class="ptmcss"></div>')
.append('<div class="append"><script type="text/javascript" src="script2.js"></script></div>');
$('.spbin').each(function(){
if($(this).children().attr('class').indexOf('ptmd')!==-1){
$(this).addClass('ptmedia');ptmedia();}

第二个脚本执行跨域查询,其执行执行指定的功能(z)第二个脚本

$.getJSON('http://example.com?callback=?',function(z){alert(z.query+'Some text');}

由于脚本是多次的第一个,因此函数(z)保持相同的次数。如何使功能(z)只运行一次? 感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您是否正在寻找jquery .one 声明? http://api.jquery.com/one/

答案 1 :(得分:0)

检查脚本是否已经附加,如果是,则不允许它运行。

if( $('.append').length <= 1 ) {
    $.getJSON('http://example.com?callback=?',function(z){alert(z.query+'Some text');}
}