我有一个有按钮的页面。当按钮被按下时,将发出一个AJAX调用,然后来自该调用的html将替换我在主页上拥有的div容器。我有脚本,需要加载到第二页。所以我担心的是,当来自第二个页面的脚本运行时,它会在控制台中给我一个“Object # has no method 'find‘”错误。我知道这是一个脚本不能调用JQuery函数的问题。有人知道如何在生成第二个页面后调用JQuery函数吗?下面是我的页面所做的一个例子:
主页:
<html>
<head>
<script type="text/javascript">
$(document).ready({
$('body').on('click', '.button', function() {
$.ajax({
type: 'GET',
url: 'page.php'
data { ... },
success: function(e){
$('#container').html(e);
}
});
});
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<button class="button" value="Click me!"></button>
<div id="container">
</div>
</body>
</html>PAGE.PHP:
echo '<div id="dropbox">';
echo ' <div class="message">Drop files here</i></div>';
echo '</div>';
echo '<script src="js/filedrop.js"></script>';
echo '<script src="js/upload.js"></script>';然后,当从第二个页面执行脚本时,我得到< Object # has no method 'find‘>错误。如果我在主页上包含脚本,脚本中什么都不起作用。谁知道在哪里可以给我指出正确的方向,让所有这些都能正常工作?
编辑**
抱歉把你们搞糊涂了。我放的代码只是我很快拼凑起来的东西。按钮单击代码将在document.ready中,但从第二个脚本调用的其他函数不在document.ready中。它们是否需要在document.ready回调中才能识别JQuery函数?
编辑2 **
感谢您澄清您可以拥有多个Document.Readys。我将在10分钟窗口结束后选择答案。
发布于 2013-06-24 07:28:19
您的脚本标记的顺序错误。在使用jQuery之前,您必须先加载它。另外,将所有与DOM交互的代码放在一个$(document).ready()回调中:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('body').on('click', '.button', function() {
$.ajax({
type: 'GET',
url: 'page.php'
data { ... },
success: function(e){
$('#container').html(e);
}
});
});
});
</script>发布于 2013-06-24 07:26:11
把你的代码放进去
$(document).ready(function() {
// your code
$('body').on('click', '.button', function() {
$.ajax({
type: 'GET',
url: 'page.php'
data { ... },
success: function(e){
$('#container').html(e);
}
});
});
});document.ready意味着页面被加载或创建您的文件myscript.js,在该文件中将所有代码包装在document.ready和
echo '<script src="js/myscript.js"></script>';https://stackoverflow.com/questions/17266224
复制相似问题