2017-05-28 12 views
0

私はいくつかの問題があります。最初のもの...私はproducts.htmlページとsearch.htmlページの2ページを持っています。 products.htmlページは、.onPageAfterAnimation()でAjaxを実行します。製品をデータベースから取得して表示することができます。返されるHTMLには、ユーザーがテキストボックス内の数値を増減できる部分が含まれています。jQuery Clickイベントの問題 - Framework7

The button to

増減値を1だけ私はproducts.htmlページを開いたときに最初に動作します、しかし、私はsearch.htmlに行くとき、私のAndroidの[戻る]ボタンを使用してバックproducts.htmlページに移動するボタン(Iは、 ... 3により減少というように/私は再びそれが増大し、同じことをしようとした場合2.減少/

This is my inc

この私をpushState = trueを持っている)、それは増加の増加/減少ボタンを押してください私products.htmlページ内の私の増加/減少コード(S)これが起こって、どのようにそれを修正することですなぜ

myApp.onPageAfterAnimation('catalogs', function (page) { 

    //Increse/decrease product quantity 
    $(“.promo-screen-content”).on(“click”, “.addToCartBtn”, function(){ 
    var productid = $(this).attr(“data-productId”), 
     currentvalue = parseInt($('#txtQuantity' + productid).val()); 

    $('#txtQuantity' + productid).val((currentvalue + 1).toString()); 
    }); 

    $(“.promo-screen-content”).on(“click”, “.removeFromCartBtn”, function(){ 
    var productid = $(this).attr(“data-productId”), 
     currentvalue = parseInt($('#txtQuantity' + productid).val()); 

    if(currentvalue > 1){ 
     $('#txtQuantity' + productid).val((current_value – 1).toString()); 
    } 
    }); 

}); 

誰もが知っていますか?

私の2番目の問題は少し異なります。これまでにボタンをクリックすると、そのクリックを取り、プロセスを3〜4回実行します。たとえば、クリックしたときに通知を表示すると、その通知が3回または4回表示されます。

これは一般的であるか、人々が遭遇した問題を知っているかわかりません。どんな助けでも大歓迎です!

+0

上記のコードはいつ呼びますか? (*バインディングがいつ発生するか*)。問題は同じハンドラが複数回バインドされていることです(*複数回実行*するため)。 –

+1

すぐに解決するには、もう一度やり直す前にハンドラをアンバインドするために 'off'を使用することがあります。 ( "クリック"、 "。addToCartBtn"、...) 'と$(プロモーションスクリーン)"。 (「クリック」、「。removeFromCartBtn '、...)」をクリックします。しかし**フレームワーク7 **に基づいたより正しい方法が必要です。私は使用していないので、関連するものは何も示唆することはできません。 –

+0

デフォルトでは、すべてのページがAjaxを使用してロードされます。私は 'search.html'に行き、' products.html'に戻ってそのページをリフレッシュして再び作業を開始するので、それが何かと関係するかどうかは分かりません。これは、2番目のページにAjaxがロードされて戻った後に発生します。 –

答えて

1

誤ったページコールバックの中にコードを挿入していました。私はそれを.onPageInit();コールバックの中に入れなければなりませんでした。

関連する問題