Jquery和Ajax发布
我试图在通过ajax从服务器返回的元素上添加一个click事件。显然,我必须在返回响应中附加js文件,而不是主脚本。这是最好的做法吗?我是否必须创建单独的js文件才能在返回文本中添加事件 例如: My Jquery-selectWeek.jsJquery和Ajax发布,jquery,html,ajax,Jquery,Html,Ajax,我试图在通过ajax从服务器返回的元素上添加一个click事件。显然,我必须在返回响应中附加js文件,而不是主脚本。这是最好的做法吗?我是否必须创建单独的js文件才能在返回文本中添加事件 例如: My Jquery-selectWeek.js $(document).ready(function(){ //handle ajax.. var url="sendSchedule.php"; $.post( url, {week:input}, function(responseText)
$(document).ready(function(){
//handle ajax..
var url="sendSchedule.php";
$.post(
url,
{week:input},
function(responseText){
$("#ajax").html(responseText);
},
"html"
);
// click on #add button
$("#add").click(function(){
//do something
return false;
});
});
我的主页
<script type="text/javascript" src="JS/selectWeek.js"></script>
</HEAD>
<BODY>
//the code that trigger ajax is omitted
<div id=ajax>
//the response text will be inserted here
</div>
</BODY>
</HTML>
//触发ajax的代码被省略
//响应文本将插入此处
来自服务器的响应
// display html (omit)
// Do I have to attach the same js file to let #add listen the event?
<script type="text/javascript" src="JS/selectWeek.js"></script>
<form>
<input type='button' id='add' value='add'/>
</form>
//显示html(省略)
//我是否必须附加相同的js文件才能让#添加侦听事件?
我不确定我的问题是否清楚。我想知道是否需要在返回文本中添加事件。我是否必须在返回文本中添加js文件链接,或者在主页上有办法添加js文件链接。我只想在主页上编写我的js代码并保持简单。谢谢您的回复。试试看。这些事件允许您在添加新元素时将事件附加到dom。例如,我运行我的页面,该页面调用一个ajaxget/post,将id为“mydiv”的div插入dom。我的现场活动将连接到新添加的div。
这样,您就可以在一个库中保留单个页面所需的所有javascript。查看它非常有用。您必须在页面include input中调用js文件
如果不是代码
$(“#添加”)。单击(function(){
将找不到名为#add的元素。我明白了。感谢您的回复。我相信John的回答也很好。