2017-05-04 19 views
2

イオン2でアプリを開発していますが、クリックイベントに問題があります。イオン2(クリック)は2回発射iOS 10.3.1

デバイス上でアプリケーションを実行し、アラートを作成するなどのボタンをクリックしようとすると、この関数は1回だけ起動しますが、もう一度ボタンをクリックすると関数が2回発生します。

これはシステム情報です。

Cordova CLI: 6.5.0 
Ionic Framework Version: 3.0.1 
Ionic CLI Version: 2.2.2 
Ionic App Lib Version: 2.2.1 
Ionic App Scripts Version: 1.3.0 
ios-deploy version: 1.9.0 
ios-sim version: 5.0.8 
OS: macOS Sierra 
Node Version: v7.2.1 
Xcode version: Xcode 8.3.2 Build version 8E2002 

そして、これはサンプルコードです:これはi`mはrepo

をやって何完全な例である

home.htm

<div padding> 
    <button ion-button full (click)="TestAlert()">Alert</button> 
</div> 

home.ts

TestAlert(){ 

    console.log('Hola'); 
    alert('Hola'); 
    } 

+0

thats btnにはデフォルトでクリックリスナーがあり、もう1つはクリックリスナーを追加するためです。 htmlではなくjsでクリック呼び出しを試みてください。 – TypedSource

答えて

5

(tap)代わりの(click)を使用してみてください。

(ionic-native 3.0.1を使用しているため、タップがスクロールに干渉するという変更があります。この場合、3.1.1に更新する必要があります)。

+0

ありがとうございます、私は多くの時間を節約しました。 –

+0

ありがとうございます。私のiOSアプリケーションの場合、関数は2回呼び出されます。例:ionViewDidLoad()からthis.make_shortlisted()関数を呼び出すと、2回呼び出されます。これは私のページ読み込みの遅延を作成しています。 – Vasanth

-3

HTML

<div padding> 
    <button type="button" class="ion-button full">Alert</button> 
</div> 

JS

// wait until all dom elements are loaded 
$(document).ready(function(){ 

    // init TestAlert as Listener 
    var TestAlert = function(){ 
    console.log('Hola'); 
    alert('Hola'); 
    } 

    // bind the click event to the button 
    $('button').on('click', TestAlert); 
}); 
+0

ここで問題となっているのはイオンフレームワークがangular2に基づいており、私がタイプスクリプトを使用してjqueryを使用していないということです。 –

+0

あなたはバニラjsで自分のコードを書き直すことができます。私はちょうどこれが怠け者であり、より速いのでjqueryを使いました。 – TypedSource

+0

jqueryが高速です、ハハハ、 – Anuj

関連する問題