Может ли $ .extend ({}, options) использовать функцию «делегат» в JQuery?

/ * jQuery Pop Menu Версия: бета Автор: Guc. http://www.gucheen.pro На основе jQuery 2.0.3 * / ( function ( $ ) { $ . fn . popmenu = function ( options ) { var settings = $ . extend ({ 'controller' : true , 'width ' : ' 300px ' , ' background ' : ' # 34495e ' , ' focusColor ' : ' # 1abc9c ' , ' borderRadius ' : ' 10px ' , ' 'top' : '50' , 'left' : '0' , 'iconSize' : '100px' , 'color' : '#fff' , 'border' : '0px' }, options ); если ( настройки . контроллер === истинно ) { вар temp_display = 'ни' ; } else { var temp_display = 'block' ; } var tar = $ ( this ); var tar_body = tar . дети ( 'ul' ); var tar_list = tar_body . дети ( 'li' ); var tar_a = tar_list . дети ( 'a' ); var tar_ctrl = tar . дети ( '.pop_ctrl' ); function setIt () { tar_body . CSS ({ 'дисплей' : temp_display , 'позиция' : 'абсолютным' , 'Рентабельность-топ' : - настройки . сверху , 'Запас-влево' : - настройки . слева , 'фон' : настройки . фон , 'ширина' : настройки . ширина , 'флоат' : 'левый' , 'обивка' : '0' , 'граница радиуса' : настройки . borderRadius , 'граница' : настройки . граница }); tar_list . css ({ 'display' : 'block' , 'color' : settings . color , 'float' : 'left' , 'width' : settings . iconSize , 'height' : settings . iconSize , 'text-align' : ' center ' , ' border-radius ' : settings . borderRadius }); tar_a . css ({ 'text-decoration' : 'none' , 'color' : settings . color }); tar_ctrl . hover ( function () { tar_ctrl . css ( 'cursor' , 'pointer' ); }, function () { tar_ctrl . css ( 'cursor' , 'default' ) }); tar_ctrl . click ( функция ( e ) { e . preventDefault (); tar_body . show ( 'fast' ); $ ( document ). mouseup ( function ( e ) { var _con = tar_body ; if (! _con . is ( e . target ) && _con . имеет ( e . target ). length === 0 ) { _con . hide (); } // _ con.hide (); некоторые функции, которые вы хотите }); }); tar_list . hover ( function () { $ ( this ). css ({ 'background' : settings . focusColor , 'cursor' : 'pointer' }); }, function () { $ ( this ). css ({ 'background' : настройки . фоны , 'курсор' : ' по умолчанию' }); }); } return setIt (); };} ( jQuery )); У меня есть этот вопрос, потому что я использую ниже JQuery javascript для отображения всплывающего меню на странице jsp.

<script>
    $(function(){
        /* $('#demo_box').popmenu(); */
        $('#ListOrLayout').popmenu(
                {
                'background':'#fff',
                'color':'#000',
                'focusColor':'#21a0df',
                'borderRadius':'0',
                'top': '0', 
                'left': '0',
                'border':'1px solid #211d1d'
                }
                );
       /*  $('#demo_box_3').popmenu({'width': '200px', 
       'background':'#223','focusColor':'#ee5','borderRadius':'10px', 'top': 
       '70', 'left': '-40', 'color':'#1265fe','border':'3px solid #0035fe'}); 
       */
       })
       </script> 

Я использую этот popmenu.js после того, как я подключился к строкам HTML, откликаемым ajax json из внешнего контроллера Spring-MVC, чтобы отобразить всплывающее меню на странице. Поскольку я снова подключаюсь к строкам HTML, поэтому я должен использовать функцию делегата для отображения меню. Если я использую ниже код без «делегирования», все это хорошо.

<div id="content">
<table  border = "1">
<tr>
<td><input type="checkbox" id="maincheck" name="maincheck"/></td>
<td>??/??</td>
<td>??</td>
<td>??</td>
<td>??????</td>
<td>
<div id="ListOrLayout"><span class="fa fa-list-ul"></span> 
<span class="pop_ctrl"><i class="fa fa-caret-down"></i></span>
        <ul>
            <li><div>????</div></li>
            <li><span>?? 
  </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span><i 
  class="fa fa-list-ul"></i></span></li>
            <li><a href="javascript:getFileLayout();"><span>?? 
  </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span><i 
  class="fa fa-th"></i></span></a></li>

        </ul>
  </div> 
  ...
<script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
<script src="${pageContext.request.contextPath}/js/jquery.popmenu.js"> 
</script>

А также HTML, который я использую:

<script src="${pageContext.request.contextPath}/js/jquery.min.js">
jQuery("#content").on("#ListOrLayout", popmenu(

{'background':'#fff',
'color':'#000',
'focusColor':'#21a0df',
'borderRadius':'0',
'top': '0', 
'left': '0',
'border':'1px solid #211d1d'}
));
</script>

Теперь я пишу JS:

<script>
function needReloadInAsyncLoad()
{
    //ajax???????????js??
    //alert("async");
        new_element=document.createElement("script");
        new_element.setAttribute("type","text/javascript");
        new_element.setAttribute("src","${pageContext.request.contextPath}/js/jquery.min.js");// ??????jquery.min.js
        document.body.appendChild(new_element);
        new_element=document.createElement("script");
        new_element.setAttribute("type","text/javascript");
        new_element.setAttribute("src","${pageContext.request.contextPath}/js/jquery.popmenu.js");// ??????jquery.popmenu.js
        document.body.appendChild(new_element);
         $('#ListOrLayout').popmenu(
                {
                'background':'#fff',
                'color':'#000',
                'focusColor':'#21a0df',
                'borderRadius':'0',
                'top': '0', 
                'left': '0',
                'border':'1px solid #211d1d'
                }
                );
}
</script>

Но это нефункционально. Я не знаю точное событие popmenu.js для делегирования предку. Поэтому любые предложения были бы очень оценены!

javascript,jquery,html,css,delegates,

0
Яндекс.Метрика