2017-01-26 10 views
2

私は、ユーザーが要素の相互作用のタイプを変更できるようにするユーザーインターフェイスを作成しようとしています。JS/jQueryでさまざまなインタラクションモードを作成する方法は?

たとえば、あるモードでは、要素がクリックイベントに応答する必要があります。別のモードでは、要素はドラッグイベントにのみ反応する必要があります。別のモードでは、対話タイプは他のものであってもよい。

最初はswitchというステートメントを使用する予定でしたが、変更が反映されないことに気付きました。

私は関数を使用しようとしましたが、モードが変更されると、両方のタイプの対話(この場合は「クリック」および「ドラッグ」)に応答します。私は、これは、同じ関数の複数のインスタンスが呼び出されることと関係していると推測しました。

私はそれを行うことができますが、私のアプローチは面倒なものになります。私はよりクリーンな答えを探しています。

理想的には、コードは(簡単ワイズ)

switch(modeType) { 
    case 'click' : 
    //Click stuff here 
    break; 

    case 'drag' : 
    //Drag stuff here 
    break; 

    default : 
    //Something else here 

} 

と同類なものになるだろう、私は、しかし、私はこのプロジェクトのためのjQueryにコミットしてきた、このために有用である可能性があり、AngularJSは$watchを持っていることを実現します。

答えて

0

どれくらいシンプルなのか信じられない!この関数では、jQueryの.off()コマンドを呼び出して、その特定の要素のすべての以前のイベントリスナーを削除する必要がありました。

関連する問題