2017-06-02 31 views
0

我正在使用名为jQueryFontIconPicker的jquery插件。我正在修改这个图标选择器来选择用户可以上传的图像图标。你可以在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

我发现有超过事件的执行顺序没有控制,这似乎是浏览器的控制,所以我最终只是修改插件代码自己。不理想,但解决了这个问题。

相关问题