我在这段代码中找不到的东西,我认为这是一个范围问题。如何解决这个jQuery范围错误?
我有以下的JavaScript片段
<javascript language="javascript>
$(function() {
$("#dialog").dialog({
autoOpen: false
});
function getMessage(direction, msgId) {
return "This is an " + direction + " message with ID: " + msgId;
}
function showMessage(direction, msgId) {
$("#dialog").text(getMessage(direction, msgId));
$("#dialog").dialog('open');
}
});
</script>
那我想是因为我创造这样称呼它下面
<div id="dialog" title="Message Info"></div>
<input type="button" id="btnCommand1" value="Command 1" onclick="javascript: showMessage('Outgoing', 1000487874')" />
<input type="button" id="btnCommand2" value="Command 2" onclick="javascript: showMessage('Incoming', 2000237851')" />
我明白,我可以通过jQuery的单击事件绑定也不过 这些按钮动态我需要像上面提到的那样调用它。 问题我得到一个showMessage()未定义的错误。我发现,一般来说,jQuery范围$(function(){})中定义的方法不能从这个范围之外访问!如何解决这个问题?
即使您动态创建按钮,也可以绑定点击事件。使用jquery.live或委托功能,你很好。 – corroded 2011-04-26 10:09:48