javascript对象中的JQuery事件

javascript对象中的JQuery事件,javascript,jquery,Javascript,Jquery,我有一个javascript对象 function A() { this.ini = function() { $('#test').html('<button id="click" >Hi</button>'); } $('#click').on('click',function(){ alert('Hi'); }); } 但是我有一个问题,事件onClick没有被使用 感谢您的帮助您正

我有一个javascript对象

function A()
{
    this.ini = function()
    {
        $('#test').html('<button id="click" >Hi</button>');
    }    

    $('#click').on('click',function(){
        alert('Hi');
    });
}
但是我有一个问题,事件onClick没有被使用


感谢您的帮助

您正在尝试将处理程序绑定到不存在的元素。试着这样做:

试试这个

$(document.body).on('click', "#click" ,function(){
    alert('Hi');
});
在元素进入DOM之前附加处理程序

function A()
{
    this.ini = function()
    {
        $('#test').html('<button id="click" >Hi</button>');
    }    

    $(document).on('click', '#click', function(){
        alert('Hi');
    });
}

你不需要把它放在初始化中,试试看

function A()
{    
    $('#test').html('<button id="click" >Hi</button>');             
    $('#click').on('click',function(){
       alert('Hi');
    });
}
A();

请参见此

当您尝试将处理程序绑定到click元素时,它还不存在。好的,我发现,您对该函数的想法是什么?用硬编码的值来实例化某些东西似乎是毫无意义的;为什么要记下它?有什么原因吗
function A()
{
    this.ini = function()
    {
        $('#test').html('<button id="click" >Hi</button>');
    }    

    $(document).on('click', '#click', function(){
        alert('Hi');
    });
}
function A()
{    
    $('#test').html('<button id="click" >Hi</button>');             
    $('#click').on('click',function(){
       alert('Hi');
    });
}
A();