Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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_Jquery - Fatal编程技术网

Javascript 单击我的链接上未触发的事件,如何修复?

Javascript 单击我的链接上未触发的事件,如何修复?,javascript,jquery,Javascript,Jquery,我正在根据接收到的JSON数据动态创建几个链接(使用jQuery html函数)。每个链接都有id“idxxxx”(xxxx是主键) 这是我正在使用的javascript代码: $(document).ready(function(){ onLoad(); $("a[id^=id]").on("click", function(event) { alert('here'); }); function onLoad() { $(d

我正在根据接收到的JSON数据动态创建几个链接(使用jQuery html函数)。每个链接都有id“idxxxx”(xxxx是主键)

这是我正在使用的javascript代码:

$(document).ready(function(){
    onLoad();

    $("a[id^=id]").on("click", function(event) {
        alert('here');
    });

    function onLoad() {
        $(document).prop("title", "Course Listing");

        getCourses();
    }

    function getCourses(name) {
        $.ajax({
            url: "http://localhost/courses/getCourses?format=json"
            , dataType: "json"
            , data: {name: name}
            , success: function(data, status) {
                populateCourses(data);
            }
        });
    }

    function populateCourses(data) {
        var html = "";

        if (data.length > 0) {
            $.each(data, function () {
                html += "<a href='##' id='id" + this.ID + "'>Edit</a><br />";
            });
        }

        $("#courselist").html(html);
    }
});
$(文档).ready(函数(){
onLoad();
$([a[id^=id])。在(“单击”上,函数(事件){
警报(“此处”);
});
函数onLoad(){
$(文件).prop(“标题”、“课程列表”);
getCourses();
}
函数getCourses(名称){
$.ajax({
url:“http://localhost/courses/getCourses?format=json"
,数据类型:“json”
,数据:{name:name}
,成功:功能(数据、状态){
普及课程(数据);
}
});
}
函数populateCourses(数据){
var html=“”;
如果(data.length>0){
$。每个(数据、函数(){
html+=“
”; }); } $(“#课程列表”).html(html); } });
我的问题是创建的链接不会在单击事件时触发

作为测试,我在我的页面上手动创建了一个链接标签,其id与其他链接相似,我没有遇到同样的问题。警报框显示良好


有没有办法解决这个问题?谢谢

问题是您在添加链接之前添加onClick,因为链接是在ajax返回后一段时间添加的,这是异步的。最简单的解决方案是在populateCourses方法中添加单击:

function populateCourses(data) {
    var html = "";

    if (data.length > 0) {
        $.each(data, function () {
            html += "<a href='##' id='id" + this.ID + "'>Edit</a><br />";
        });
    }

    $("#courselist").html(html);

    $("a[id^=id]").on("click", function(event) {
        alert('here');
    });
}
函数populateCourses(数据){
var html=“”;
如果(data.length>0){
$。每个(数据、函数(){
html+=“
”; }); } $(“#课程列表”).html(html); $([a[id^=id])。在(“单击”上,函数(事件){ 警报(“此处”); }); }

问题在于,在添加链接之前添加onClick,因为链接是在ajax返回后一段时间添加的,这是异步的。最简单的解决方案是在populateCourses方法中添加单击:

function populateCourses(data) {
    var html = "";

    if (data.length > 0) {
        $.each(data, function () {
            html += "<a href='##' id='id" + this.ID + "'>Edit</a><br />";
        });
    }

    $("#courselist").html(html);

    $("a[id^=id]").on("click", function(event) {
        alert('here');
    });
}
函数populateCourses(数据){
var html=“”;
如果(data.length>0){
$。每个(数据、函数(){
html+=“
”; }); } $(“#课程列表”).html(html); $([a[id^=id])。在(“单击”上,函数(事件){ 警报(“此处”); }); }

问题在于,在添加链接之前添加onClick,因为链接是在ajax返回后一段时间添加的,这是异步的。最简单的解决方案是在populateCourses方法中添加单击:

function populateCourses(data) {
    var html = "";

    if (data.length > 0) {
        $.each(data, function () {
            html += "<a href='##' id='id" + this.ID + "'>Edit</a><br />";
        });
    }

    $("#courselist").html(html);

    $("a[id^=id]").on("click", function(event) {
        alert('here');
    });
}
函数populateCourses(数据){
var html=“”;
如果(data.length>0){
$。每个(数据、函数(){
html+=“
”; }); } $(“#课程列表”).html(html); $([a[id^=id])。在(“单击”上,函数(事件){ 警报(“此处”); }); }

问题在于,在添加链接之前添加onClick,因为链接是在ajax返回后一段时间添加的,这是异步的。最简单的解决方案是在populateCourses方法中添加单击:

function populateCourses(data) {
    var html = "";

    if (data.length > 0) {
        $.each(data, function () {
            html += "<a href='##' id='id" + this.ID + "'>Edit</a><br />";
        });
    }

    $("#courselist").html(html);

    $("a[id^=id]").on("click", function(event) {
        alert('here');
    });
}
函数populateCourses(数据){
var html=“”;
如果(data.length>0){
$。每个(数据、函数(){
html+=“
”; }); } $(“#课程列表”).html(html); $([a[id^=id])。在(“单击”上,函数(事件){ 警报(“此处”); }); }
试试这个:

$(函数(){
var-ar=[];
对于(var i=1;i尝试以下方法:

$(函数(){
var-ar=[];
对于(var i=1;i尝试以下方法:

$(函数(){
var-ar=[];
对于(var i=1;i尝试以下方法:

$(函数(){
var-ar=[];

对于(var i=1;i),动态元素需要委托事件处理程序!动态元素需要委托事件处理程序!动态元素需要委托事件处理程序!动态元素需要委托事件处理程序!动态元素需要委托事件处理程序!