我正在尝试创建一个 go-moku游戏使用 jquery、php 和 mysql 数据库。 我有一个 ajax 函数,可以在需要时每秒更新一次面板。
var turnCount = -1;
setInterval(function(){
$.get('includes/boardControl.php',{turn: turnCount }, function(data){
if(data != "")
{ $("#board").html(data);
turnCount = $("#turnCount").text();
$("#turnCount").text("")
}
});
}, 1000);
这工作得很好,它会检查数据库以查看转数是否已增加,如果增加了则替换棋盘。现在我最终想做的是创建一个点击函数,使用 Ajax 更新棋盘并在数据库中进行计数。我希望以某种方式使用第 N 个选择器来确定我点击的是哪个方 block 。
我有几个问题。
1) 我现在的点击功能是
$(document).ready(function() {
$("td > img").click(function(){
alert("clicked");
});
});
截至目前,它适用于我写入 html 的额外测试表,但不适用于使用先前函数创建的表。我做错了什么?
2) 到目前为止,我看过的教程规定我应该按以下方式编写代码。
$(document).ready(function() {
//code here
});
当我昨晚问一个问题时,有人告诉我我的函数过于复杂了。那么我什么时候应该使用 document.ready 函数,什么时候不应该?将我所有的脚本放入一个 document.ready 函数中是否合适,还是我应该有多个?
3) 一旦点击图像开始工作,我希望将 X、Y 坐标发送到服务器并更改板上的相应位置。我将如何确定单击表格中的哪个单元格以了解要使用的坐标? (或者有更简单的方法吗?)
最佳答案
听起来你需要改变
$("td > img").click(function(){
alert("clicked");
});
到
$("td > img").live('click',function(){
alert("clicked");
});
编辑:对于 jQuery 1.9 及更高版本,您可以:
$("#board").on('click', 'td > img', function(){
// handle click
});
关于javascript - jQuery click() 无法处理替换的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501300/