Php Javascript在JQuery加载的DIV中不工作

Php Javascript在JQuery加载的DIV中不工作,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,好了,我们开始 我有一个页面XYZ,上面有一个按钮,用来调用我的函数: $(function() { $('#addgroupicon').on('click', function(event){ addgroup(); }); }); function addgroup() { $('#addgroupdialog').show(); } //#addgroupdialog和#addgroupicon在加载的页面中,上面的代码在我加载到inde

好了,我们开始

我有一个页面XYZ,上面有一个按钮,用来调用我的函数:

$(function() {


    $('#addgroupicon').on('click', function(event){

        addgroup();

    }); 

});


function addgroup()
{
$('#addgroupdialog').show();
}
//#addgroupdialog和#addgroupicon在加载的页面中,上面的代码在我加载到index.html标题中的.js文件中

现在,我使用.load()函数将这个页面XYZ加载到一个div中,但是当我单击按钮时,什么也没有发生。我还尝试添加onclick='javascript:addgroup();'按按钮,没有成功


有人能帮我吗?

试试这个。如果在加载页面后调用元素,则需要使用.live()


试试这个。如果在加载页面后调用元素,则需要使用.live()

  • 从未见过
    $(function(){})
    ,请尝试使用
    $(document).ready({})

  • 使用$(document).ready({}),您的js代码将在页面加载后运行,如果
    addgroupicon
    还不存在,则click事件将不会绑定到该页面。因此,如果您稍后要添加
    addgroupicon
    ,则必须在添加后运行该代码

  • 为什么不使用简单的
    $('#addgroupicon')。单击(函数(事件){})

  • 从未见过
    $(function(){})
    ,请尝试使用
    $(document).ready({})

  • 使用$(document).ready({}),您的js代码将在页面加载后运行,如果
    addgroupicon
    还不存在,则click事件将不会绑定到该页面。因此,如果您稍后要添加
    addgroupicon
    ,则必须在添加后运行该代码

  • 为什么不使用简单的
    $('#addgroupicon')。单击(函数(事件){})

  • 您可以使用
    .bind()
    方法代替
    .live()

    您可以使用
    .bind()
    方法代替
    .live()


    尝试对按钮使用live()而不是bind()。

    尝试对按钮使用live()而不是bind()。

    我不太理解您的问题,但是如果
    live()
    解决了您的问题,并且您没有使用它,因为它已被弃用

    这是路要走

    $("body").on("click", "#addgroupicon", function(event){
        addgroup();
    });
    
    参考:

    我不太理解您的问题,但是如果
    live()
    解决了您的问题,并且您没有使用它,因为它已被弃用

    这是路要走

    $("body").on("click", "#addgroupicon", function(event){
        addgroup();
    });
    
    参考:

    您没有正确使用“上的
    ”。应该这样使用:

    $(document).on("click", "#addgroupicon", function(event){
            addgroup();
    }); 
    
    我想,看看下面这把小提琴吧,它模仿了你的情景:

    为了解释原因,因为我认为jquery文档在这方面做得不是很好。。。 基本上,如果你想一想你在用“on”的方式做什么:

    $('#addgroupicon').on('click', function(event){
    
    您的意思是,好的jQuery,我想为下面的选择器“addgroupicon”创建一个事件处理程序。Jquery立即转过身来,说“太棒了!”#addgroundicon完全没有与之匹配的项。走开,别再烦我了。但首先使用$(document)进行操作,jquery会说,“哦,好的。我当然可以为文档创建一个click事件处理程序。现在,如果您只希望我在某些元素导致单击时引发此事件,请提供一个选择器,如果选择器与源元素匹配,那么我将调用您的回调。”有意义吗?

    您没有正确使用“
    上的
    ”。应该这样使用:

    $(document).on("click", "#addgroupicon", function(event){
            addgroup();
    }); 
    
    我想,看看下面这把小提琴吧,它模仿了你的情景:

    为了解释原因,因为我认为jquery文档在这方面做得不是很好。。。 基本上,如果你想一想你在用“on”的方式做什么:

    $('#addgroupicon').on('click', function(event){
    

    您的意思是,好的jQuery,我想为下面的选择器“addgroupicon”创建一个事件处理程序。Jquery立即转过身来,说“太棒了!”#addgroundicon完全没有与之匹配的项。走开,别再烦我了。但首先使用$(document)进行操作,jquery会说,“哦,好的。我当然可以为文档创建一个click事件处理程序。现在,如果您只希望我在某些元素导致单击时引发此事件,请提供一个选择器,如果选择器与源元素匹配,那么我将调用您的回调。”有意义吗?

    很好奇为什么要使用.on(),这样行吗

    $('#addgroupicon').click(function(){
        $('#addgroupdialog').show();
    }); 
    

    好奇你为什么要用。on()这个行吗

    $('#addgroupicon').click(function(){
        $('#addgroupdialog').show();
    }); 
    

    我想你需要使用eval来完成这个任务。你是在页面加载后用addgroupicon添加div吗?那可能是你的问题。在加载元素后添加该代码。是否在html文件中指定了jquery的用法?另外,使用
    $(document.ready({…})
    代替1。是的,我正在index.html 2的标题中加载jquery.js。我尝试插入$(function(){$('#addgroupicon')。在('click',function(event){addgroup()});});加载到加载的文件中,但我仍然无法调用函数Dont insert into laded file,但作为load()函数中的回调函数,我认为您需要为此使用eval您在页面加载后使用addgroupicon添加div?那可能是你的问题。在加载元素后添加该代码。是否在html文件中指定了jquery的用法?另外,使用
    $(document.ready({…})
    代替1。是的,我正在index.html 2的标题中加载jquery.js。我尝试插入$(function(){$('#addgroupicon')。在('click',function(event){addgroup()});});加载到加载的文件中,但我仍然无法调用函数Dont insert into Ladded file,但作为加载()函数中的回调函数,我正在使用JQuery 1.7。此处不推荐使用live(),这将不起作用,这是指文档不是#addgroupicon
    $(如果您不打算在dom中使用此/*或文档*/)。在('click'、'#addgroupicon',function(){})
    上,我使用的是JQuery 1.7。此处不推荐使用live(),因为它不起作用,这是指文档不是#addgroupicon
    $(如果您不打算在dom周围准备好此/*或文档*/)。on('cl