我有一个jquery文件,如下所示:

$('.font').click(function(){
        for(i=0;i<FontArray.length;i++){
            var font = FontArray[i];
            $('#view_container').append("<button class='b_font' id='"+font+"' onclick='saveMe("+font+");'>"+font+"</button>");
            $('.'+font).css('font-family',font);
        }
        // event.preventDefault();
    });


函数saveMe定义如下:

function saveMe(font){
        alert(font);
    }


但是当我单击任何按钮时,出现以下错误:
 未捕获的ReferenceError:未定义saveMe

谁可以帮我这个事 ?

提前致谢!

最佳答案

线

onclick='saveMe("+font+");'


呈现为

onclick='saveMe(arial);'


因此,当您单击它时,它正在查找变量arial而不是字符串"arial"。您需要引用它。

onclick='saveMe(\""+font+"\");'


现在,对于未定义saveMe的情况,需要具有更多上下文。 saveMe何时定义?如果它在文档就绪/窗口onload方法内部,则需要将其放在文档外部,以便在窗口范围内可用。

和线

$('.'+font).css('font-family',font);


应该是

$('#'+font).css('font-family',font);

08-28 20:16