私はいくつかの問題があります。最初のもの...私はproducts.html
ページとsearch.html
ページの2ページを持っています。 products.html
ページは、.onPageAfterAnimation()でAjaxを実行します。製品をデータベースから取得して表示することができます。返されるHTMLには、ユーザーがテキストボックス内の数値を増減できる部分が含まれています。jQuery Clickイベントの問題 - Framework7
増減値を1だけ私はproducts.html
ページを開いたときに最初に動作します、しかし、私はsearch.html
に行くとき、私のAndroidの[戻る]ボタンを使用してバックproducts.html
ページに移動するボタン(Iは、 ... 3により減少というように/私は再びそれが増大し、同じことをしようとした場合2.減少/
この私を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回表示されます。
これは一般的であるか、人々が遭遇した問題を知っているかわかりません。どんな助けでも大歓迎です!
上記のコードはいつ呼びますか? (*バインディングがいつ発生するか*)。問題は同じハンドラが複数回バインドされていることです(*複数回実行*するため)。 –
すぐに解決するには、もう一度やり直す前にハンドラをアンバインドするために 'off'を使用することがあります。 ( "クリック"、 "。addToCartBtn"、...) 'と$(プロモーションスクリーン)"。 (「クリック」、「。removeFromCartBtn '、...)」をクリックします。しかし**フレームワーク7 **に基づいたより正しい方法が必要です。私は使用していないので、関連するものは何も示唆することはできません。 –
デフォルトでは、すべてのページがAjaxを使用してロードされます。私は 'search.html'に行き、' products.html'に戻ってそのページをリフレッシュして再び作業を開始するので、それが何かと関係するかどうかは分かりません。これは、2番目のページにAjaxがロードされて戻った後に発生します。 –