0

jQueryUIアコーディオンがあります。各見出しバーには、「編集」アイコンがあります。このアイコンをクリックすると、ブートストラップモーダルが開きます。

現時点では、アイコンをクリックするとモーダルが起動しますが、明らかにアコーディオンメニューの展開/折りたたみイベントもトリガーされます。どうすればそれを防ぐことができますか?

デモ: http: //jsfiddle.net/M3MDJ/3/

私が知る限り、Bootstrapモーダルイベントが最初に発生します。これは、使用するevent.stopPropagation()event.stopImmediatePropagation()、まったく発生しないためです。モーダルでさえ開くことができません。

4

1 に答える 1

0

属性を使用して自動初期化するのではなく、javascriptを使用してモーダルを制御する必要がありdata-ます。そうしないと、ブートストラップがクリックハンドラーを自動的にバインドするときに、イベントを伝播しないことを知る方法がありません。

$(document).ready(function() {
  $('.edit').click(function(e){
    e.stopPropagation();
    $('#modal-edit').modal()
  })
  $('#accordion').accordion({
    collapsible: true,
        active: false
  });  
});

デモ:http://jsfiddle.net/M3MDJ/4/

于 2013-01-18T12:04:49.370 に答える