JavaScript onTap functions

JavaScript onTap functions

本文关键字:functions onTap JavaScript      更新时间:2023-09-26

论坛还是新手,所以我会尽力解决这个问题。基本上,我正在开发一个移动网络应用程序,并有几个ontap功能,用于在点击按钮后重新加载网页。以下是我的两个较小onTap函数的代码,用于演示(因此您不必筛选数百行代码)。licenses_button-ontap功能运行得很好,没有任何形式的错误,但back_button-ontop功能和所有其他没有在应用程序初始主页上创建的按钮不会充当按钮,我不知道为什么。有什么建议吗?(我知道back_button几乎没有内容,我只是出于调试目的删除了很多内容,即使这样也无法工作)。谢谢你的建议!

$("#licenses_button").onTap(function(event){
                     $("#play_button").remove();
                     $("#banner").remove();
                     $("#licenses_button").remove();
                     $(".cloud").remove();
                     $(".cloudalternate").remove();

                     $("body").append("<div id='back_button'>Back</div");
          });

          $('#back_button').onTap(function(event) {
            $('#back_button').remove();
          });

$(selector).onTap(callback);在调用处理程序时将其附加到所选元素。此时尚未创建的元素无法选择(显然,因为它们还不存在),因此无法获得处理程序。您需要在添加元素之后附加处理程序

例如:

$("#licenses_button").onTap(function(event){
    $("#play_button").remove();
    $("#banner").remove();
    $("#licenses_button").remove();
    $(".cloud").remove();
    $(".cloudalternate").remove();
    // Create the button.
    var backButton = $("<div id='back_button'>Back</div");
    // Append it to the body.
    $("body").append(backButton);
    // Attach the handler to the new button.
    backButton.onTap(function(event) {
        backButton.remove();
    });
});

您提到back_button和其他不起作用的按钮不会在主页面中创建。由于这些按钮是在以后创建的,因此在创建按钮后,必须等待为这些按钮设置onTap事件。如果您试图在创建事件处理程序之前设置它们,它们将无法工作。