我的索引页面上有一个输入:
<input type="button" name="goReplaceAll" value="Go" id="allReplaceGo" style="cursor:hand;" />
来自jquery的onclick调用:
$(document).ready(function() {
$('#allReplaceGo').click(replaceAll);
});
function replaceAll(){ alert('a'); }
当我点击按钮时,没有任何反应。当我在HTML中使用onclick =“replaceAll()”时,我收到一个错误:未捕获的ReferenceError:未定义replaceAll
我无法找出这些错误或任何可能原因之间的联系。
该代码目前位于http://www.texturepacker.net
编辑:看起来我在Firefox和Chrome中获得了两个不同的结果,一旦页面加载,Chrome就不会执行任何操作(警报('a'))。现在我只是很困惑?
编辑:在我的代码中稍后看似无关的语法错误就是打破了这个调用。现在当dom加载时调用replaceAll(),我现在的问题是为什么不能在onclick上启动replaceAll(),而是在dom加载后,我错过了一些明显的东西?
答案 0 :(得分:1)
在这里看起来像语法错误 ...
脚本文件中的第196行说
$(this).("src",tmpSrc);
应该是
$(this).attr("src",tmpSrc);
修复它,它应该都很好..
也在第7行
$('#allReplaceGo').live("click",replaceAll());
应该是
$('#allReplaceGo').live("click",replaceAll);
同样版本1.7 .live()已弃用。尝试使用 .on()代替
答案 1 :(得分:-2)
可能会发生这种情况,因为函数replaceAll不在jQuery范围内。 试着把她放在$(文件).ready范围内。
答案 2 :(得分:-2)
您的代码应该是
$(document).ready(function() {
$('#allReplaceGo').click(function(){
replaceAll()
});
});
function replaceAll(){ alert('a'); }