【问题标题】:Multiple $("selectort").click (function () in if then construction not working多个 $("selectort").click (function () in if then 构造不起作用
【发布时间】:2016-02-16 02:36:22
【问题描述】:

我有一个服务器可以动态(asp.net)生成我无法更改的网页。

我想在所有页面上捕获所有点击的按钮。

在 JSFiddle 中 https://jsfiddle.net/forssux/aub2t6gn/2/ 就是一个例子..

$(".checkout-basket").click (function ()

第一个警报显示 3 个可能的值, 但不是所选项目..

$(".button.button-dl").click(function ()

在 jsfiddle 中这部分不会被执行

奇怪的是,在我的真实网页上,我点击了按钮......但是当我把它放在 If then 构造中时,它无法 console.log 选择的项目.. 我希望有人能解释我如何获得这些..

亲切的问候 盖伊·福斯曼

 //$("div.detail-info,table.checkout-basket").click(function () {
 //       var knopje = $(this).attr("class")//.split(" ");
 //     console.log(knopje + " knopje was clicked");
 //       if(knopje.indexOf("detail-info") > -1) {
 //          console.log("div class detail-info is clicked");
 //     }
 //     else if (knopje.indexOf("checkout-basket") > -1) {
 //           console.log("table class checkout-basket is clicked");
 //            }
 //       else {
 //       alert ("er is op iets anderes gedrukt");
 //       }

    // capture click on download button in checkout-basket page
    $(".checkout-basket").click (function () {
    basket =[];
    item="";
        str = $(this).text();
        str = str.replace(/\s\s+/g, ' ');
        var str = str.match(/("[^"]+"|[^"\s]+)/g);
        console.log("Array  ",str);
        for(var i=0;i<str.length;i++){
        if(str[i] === "verwijder"){
           console.log("Item= ",str[i+1]);
           item = str[i+1];
          basket.push(item);}
        }
        console.log("Basket contains ",basket);
        //console.log("idValBasket ",idVal);
        var test = idVal.replace(/\$/gi, "_").slice(0,-6);
        console.log("test ",test);
        var element = test.substr(test.length - 2)-1;
        console.log("element ",element);
        element=element-1;
        item = basket[element];
        console.log("Item finaal is ",item);
        });

    $(".button.button-dl").click(function () {
        var addressValue = $(this).attr('href');
        console.log("addresValue Basket",addressValue );
        var re = /'(.*?)'/;
        var m = addressValue.match(re);
        console.log (" m basket is ",m);
        if (m != null)
        idVal = (m[0].replace(re, '$1'));
        console.log("idVal Basket",idVal);
      });

    //This section captures the download in the detail page

    $(".button").click(function () {
        var downloadItem = document.getElementsByTagName("h1")[0].innerHTML 
        console.log("addresValue detail",downloadItem );
      });

【问题讨论】:

  • “它失败了” .. 怎么样?
  • 我稍微改变了问题....console.log("Item final is ",item);没有出现...

标签: javascript jquery html


【解决方案1】:

我从不使用点击功能,而是use on(*event*,...)

$(".checkout-basket").on("click", function (){ /* CODE */ });

从视觉上检查layuot(div、span等)上是否有布局

【讨论】:

    【解决方案2】:

    也许是一个奇怪的问题,也许我弄错了,但是为什么要使用 push ?如果你想删除一个项目?顺便说一句,这个例子也不起作用,所以也许这是你的问题

    【讨论】:

      猜你喜欢
      • 2015-05-31
      • 1970-01-01
      • 1970-01-01
      • 2023-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多