2017-06-02 9 views
0

私はjQueryプラグインを使用しています:jQueryFontIconPicker。私はこのアイコンピッカーを変更して、ユーザーがアップロードできる画像アイコンも選択します。外部ライブラリのJavascriptで発注イベントを変更できますか?

アイコンを選択すると、jqfonticonpickerを作成する関数に添付されている.on( 'change')を使用しています...問題は、DOMを操作しようとしていますが、変更を強制的に適用できません。プラグインの変更が有効になります。

シーケンスを設定するエレガントな方法はありますか?

var iconcats = { // these are just arrays listing the icons to use. they all work fine. 
      'Library Icons': libicons, 
      'My Icons': usericons 
     }; 

     $('.iconpicker-input').fontIconPicker({ 
      source: iconcats, 
      emptyIcon: false, 
      hasSearch: true, 
      theme: 'fip-darkgrey' 
     }).on('change', function(){ 
    // Do DOM changes here, replace icons with images. 

      var target = event.target; 
      var iconname; 

      if($(target).hasClass('custom-icon-image')) 
      { 
       iconname = $(target).attr('title'); 
       alert('check sequence'); 
       $(target).closest('.icons-selector .selected-icon i').html('<img class="selected-icon-image" src="/site_repo/' + siteID +'/icons/' + iconname + '.png" title="' + iconname + '" />'); 
       $(target).closest('.icons-selector .selector').html('<p>test</p>'); 
      } 
     }); 

}); 

私はイベントの実行順序に対する制御が存在しないことを発見し、事前

+0

このコードの実際の例を投稿してください。スニペットとあいまいな説明に基づいて問題がどのようなものかはっきりしていません。 –

+0

プラグインの動作を変更する可能性はほとんどありません...実際の問題点を教えてもらえれば、回避策を教えてください。 – epascarello

+1

あなたはプロミスを作成し、プラグインを内部で使用し、.then関数を使用してコードを非同期的に実行する必要があります。 –

答えて

0

にありがとう、ブラウザ制御のようですので、私はちょうどプラグインのコードを自分で修正することになりました。理想的ではありませんが、問題を解決します。

関連する問題