Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在动态加载内容中绑定“单击”链接?_Javascript_Php_Html_Jquery - Fatal编程技术网

Javascript 如何在动态加载内容中绑定“单击”链接?

Javascript 如何在动态加载内容中绑定“单击”链接?,javascript,php,html,jquery,Javascript,Php,Html,Jquery,我有一些奇怪的问题。假设我们有一个包含以下代码的HTML页面: <div class="description"> <a href='#' class='oldkeenload btn btn-apply' data-subject='1' data-subject2='3'><i class="fa fa-cloud-download" aria-hidden="true"><

我有一些奇怪的问题。假设我们有一个包含以下代码的HTML页面:

<div class="description">
        <a href='#' class='oldkeenload btn btn-apply' data-subject='1' data-subject2='3'><i class="fa fa-cloud-download" aria-hidden="true"></i> Загрузить материал</a>
</div>
它只是将响应从服务器加载到“description”div。我这样做是为了避免加载所有材料,让用户在一个特定类别中加载他需要的内容。用户看到材料介绍,按下加载按钮,内容加载

但是,使用此方法加载时,加载内容中的新链接无法加载新内容。当我点击链接时,什么也没发生

你知道如何在JS中不使用服务器端脚本实现吗?

jQuery函数接受一个额外的回调。它将在加载完成后运行。在通过
.load
更新DOM后,可以再次绑定
click
函数

var loadData=函数(){
//控制台日志(“单击”);
var topic=$(this.data('subject');
var kcode=$(this.data('subject2');
var datastring='/app/server.php?oldkeen='+kcode+'&topicid='+topic;
//log(数据字符串);
//var parentTag=$(this.parent().get(0).tagName;
//log(“父标记:“+parentTag”);
var$container=$(this.parent(“.description”);
$container.load(数据字符串,函数(){
$(“.oldkeenload”,$容器)。单击(loadData);
});
返回false;
}
$(“.oldkeenload”)。单击(加载数据);

客户端DOM操作不会更新页面的源代码。使用浏览器的开发工具检查DOM。我知道,这就是问题所在。是否有更新DOM的方法。我想操作的加载内容中有href元素。DOM已更新。否则你就看不到页面本身的变化。好吧,也许我是错的。我想将加载内容中的href click传递给js文件中的另一个函数。但是它不能识别点击和要传递的内容,也不清楚你正在经历什么。单击链接时页面内容是否更新?您在浏览器中尝试过DOM Inspector吗?(正如其他人提到的,不可能使用客户端javascript更改服务器HTML,只更改DOM)
$(".oldkeenload").click(function () {
    // console.log("Clicked");
    var topic=$(this).data('subject');
    var kcode=$(this).data('subject2');

    var datastring = '/app/server.php?oldkeen=' + kcode + '&topicid=' + topic;

    // console.log(datastring);

    // var parentTag = $( this ).parent().get( 0 ).tagName;
    // console.log("Parent tag: " + parentTag);

    $(this).parent(".description").load(datastring);

    return false;
});