首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在页面的整个生命周期中强制加载onclick事件?

如何在页面的整个生命周期中强制加载onclick事件?
EN

Stack Overflow用户
提问于 2015-03-12 16:22:54
回答 1查看 92关注 0票数 0

我在一个按钮上有一个onClick事件,它是使用从服务器返回的数据(通过Ajax)创建的。我的代码概要如下:

代码语言:javascript
复制
$(document).on('pageinit', function() {
$.ajax({
    url: '/',
    dataType: 'json', 
    type: 'POST',
    contentType: 'application/x-www-form-urlencoded',
    data: textInput,
    success: function (response) {
        if(response.error_code!=null){
            alert(response.user_message);
        }
        else {
         //code to generate button with id tag `cvResults`

         $('#cvResults').click(function(e) {
         // some code here, redirects to another mobile page
        }
        },//then remainder of ajax function

我最初尝试将onClick函数放在Ajax调用之外(但放在pageinit内)。这不会触发,因为页面将在没有任何#cvResults标记的情况下启动,因此不会加载函数。

我现在有一个不同的问题。当您单击此按钮并转到另一个页面时,如果您随后按下back并尝试再次单击该按钮,则不会触发事件。这是有意义的,因为Ajax还没有响应。

如何才能同时满足这两种情况,并在#cvResults标记出现时永久侦听onClick事件?

EN

回答 1

Stack Overflow用户

发布于 2015-03-12 16:25:03

尝试使用此方法为动态创建的元素绑定任何单击事件。

代码语言:javascript
复制
$('document').on('click','#cvResults',function(){
    // your code.
})

由于您的页面初始化时没有此元素,因此如果您以常规方式执行此操作,事件将不会绑定。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29004900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档