过去几天我一直在使用ajax,而且在保持链接可点击时我会陷入困境。
我有一个包含一些listitems的菜单,并在外部javascript文件中附加了一个eventhander,它看起来像这样:
document.getElementById('home').addEventListener("click", navigate, false);
所有元素。在导航功能中,我使用的是ajax:
$.ajax({
type: "POST",
url: "php/navigation.php",
data: "clicked=" + this.id,
dataType: 'json',
async: false,
success: function(response) {
if (response && response.text1 && response.text2) {
$("#leftContent").html(response.text1);
$("#rightContent").html(response.text2);
}
}
});
我正在使用json数据类型,因此我可以为两个div #leftContent和#rightContent分隔数据。现在php文件做了一些简单的查询来从db获取数据。 但是这很好用!填写到html对象中的代码可以正常工作。我用css设计它使它看起来很好看起来上面的解决方案似乎没问题。
但是当我使用navigation.php文件中的链接进行响应时,它无法点击。 所以想象一下navigation.php看起来像这样(简化)
$content = json_encode(array(
'text1' => '<a href="127.0.0.1">link</a>"',
'text2' => 'This text would go in response text 2'
));
echo $content;
我试图使用href =“#”并使用onlick方法并使用函数来处理这个但仍然没有任何反应。我确实在网上搜索并遇到了bind() - 允许添加和Eventhandler的方法。 好吧,我可以这样但如果我从php文件中收到一个链接列表怎么办?某种:
$content = json_encode(array(
'text1' => '<a href="http://...">link</a><br /> <a href="http://...">link</a><br /> <a href="http://...">link</a><br /> ',
'text2' => 'This text would go in response text 2'
));
echo $content;
我可以在整个列表中添加一个事件处理程序,但不是每个单独的元素。 有一个简单的解决方案吗? 使用多维数组作为响应并解析数据将是一个想法。或者只是一种简单的方法吗?
答案 0 :(得分:1)