Javascript 单击第一次单击中未触发的动态内容的事件

Javascript 单击第一次单击中未触发的动态内容的事件,javascript,jquery,ajax,codeigniter,Javascript,Jquery,Ajax,Codeigniter,我正在尝试在我的网站中实现关键字搜索。搜索结果包含一个锚,用于获取详细视图。并在锚定的点击事件中显示一个弹出窗口。但我的问题是,这个弹出窗口不呈现在第一次点击。如果我再次点击链接,弹出窗口就会出现。我在这里粘贴我的搜索窗口和脚本的屏幕截图。有人请帮我纠正这个问题 脚本: 函数showAdvancedSearch(值){ var searchResults=''; var status=“”; var color=“”; $.ajax({ url:base_url+“面板/快速搜索”, 键入:“

我正在尝试在我的网站中实现关键字搜索。搜索结果包含一个锚,用于获取详细视图。并在锚定的点击事件中显示一个弹出窗口。但我的问题是,这个弹出窗口不呈现在第一次点击。如果我再次点击链接,弹出窗口就会出现。我在这里粘贴我的搜索窗口和脚本的屏幕截图。有人请帮我纠正这个问题

脚本:

函数showAdvancedSearch(值){
var searchResults='';
var status=“”;
var color=“”;
$.ajax({
url:base_url+“面板/快速搜索”,
键入:“POST”,
数据:{
q:价值
},
async:false,
成功:功能(结果){
结果=$.parseJSON(结果);
对于(变量i=0;i”+
'' +
'' +
“+天+”-“+月+”-“+年+”+“+小时+”:“+分钟+”+下午+”;
如果(状态==“保持”){
搜索结果+=“”+
'' +
' ' +
'';
}
搜索结果+=“”+
'';
}
}
});
搜索结果+=“”+
'';
$('.search-inner').html(搜索结果);
TweenLite.set($(“#快速搜索”).parent().find(“.search-inner”){
显示:“块”
});
}
$(文档)。在('click','a.view-details',函数()上{
警报(1);
});
此问题仅适用于动态添加的内容。因为我试图在另一个部分(页面加载中加载的内容)中触发同一个view details事件,其工作正常

更新

为了便于理解,我删除了一些代码。警报功能在第一次单击时不起作用,因为事件在第一次单击时不会触发。您可以做两件事:

  • 在创建元素后添加click事件处理程序
  • 将onclick函数传递到视图详细信息中,然后处理单击操作

  • 快乐编码

    尝试文档点击文档。准备好了吗

    我希望它能起作用

    $(document).ready(function(){
         $(document).on('click', 'a.view-details', function() {
         //your code
         });
    });
    
    或者您可以尝试在showAdvancedSearch()函数的末尾重新绑定单击事件,如下所示

    $("a.view-details").bind("click", function(){
        alert("anchor is clicked");
    });
    

    除了您描述的问题之外,请删除
    async:false
    。这是非常糟糕的做法,浏览器会在控制台上显示警告,告诉你不要这样做。正确地使用回调模式并将其委派到位:
    $(文档)。在('click','a.view-details',function(){
    @RoryMcCrossan Ok。我从代码中删除了此项,但为什么
    函数defaultPopup(part){
    在click函数中?@mplungjan defaultPopup(part)不是在click事件中定义的。我只是从click事件调用该函数仍然相同:(您能在控制台中看到什么吗?