2013-08-06 69 views
0
一個事件

我已經嘗試了簡單的「插件」在JQ這樣的:(JQuery的)如何設置插件

<div id="container"></div> 

<script> 
    $(document).ready(function() { 
     $('#container').Lister(); 
    }); 
</script> 

是:

$.fn.Lister = function(){ 
    var container = this; 

    // Get some data 
    $.get('xxxx', function(result){ 

     // foreach result, fill in container. each result item fills as a button. 
     $(result).each(function(){ 
      $(container).append('<button>'+ this.Name +'</button>'); 
     }); 
    }); 
} 

然後我在我的頁面調用這個作品〜不錯的作品給我,第一次嘗試。

但問題來了:如何點擊一個<按鈕來收集價值>?

在uploadify插件

,文件選擇的事件解決這樣的:

$('#fileUploader').uploadify({ 
     'onSelect' : function(file){ alert(file.name); } 
}); 

如何在我的李斯特()像下面模擬這個?

<div id="container"></div> 

<script> 
    $(document).ready(function() { 
     $('#container').Lister({ 
      'onButtonClicked' : function(buttonText) { alert(buttonText); } 
     }); 
    }); 
</script> 

謝謝。

回答

0

嘗試

$.fn.Lister = function(options){ 
    var container = this; 

    if(jQuery.isFunction(options.onButtonClicked)){ 
     container.on('click', 'button', options.onButtonClicked) 
    } 

    // Get some data 
    $.get('xxxx', function(result){ 

     // foreach result, fill in container. each result item fills as a button. 
     $(result).each(function(){ 
      $(container).append('<button>'+ this.Name +'</button>'); 
     }); 
    }); 
} 

然後

$(document).ready(function() { 
    $('#container').Lister({ 
     'onButtonClicked' : function(e) { alert($(this).text()); } 
    }); 
}); 
+0

教訓。我會根據你的幫助嘗試更復雜的,非常感謝你。 –