Как добавить функцию как пользовательские события в JQuery?

0

после загрузки мои данные ajax Событие Не работает. так что это проблема делегирования событий. если я использую.on(), то как я могу передать свое пользовательское событие и получить правильные данные.

$(document).ready(function(){
$.ajax({
    type:"post",
        url:"/echo/html/",
        data: {
        html: ' <div id="2013_Holidays_.xlsx" class="up-img">  <span class="file-browse" data-ext="xlsx" data-id="2013_Holidays_.xlsx">2013_Holidays_...</span></div><div id="a91234567889ba.jpg" class="up-img"><span class="file-browse" data-ext="jpg" data-id="a91234567889ba.jpg">a91234567889ba...</span></div><div id="aakanksha rajhansa.pdf" class="up-img">    <img width="70px" height="70px" onclick="show_info.call(this)"/><span class="file-browse" data-ext="pdf" data-id="aakanksha rajhansa.pdf">aakanksha rajh...</span></div>'
        },
    success:function(data){
            $("#holder").html(data);
    }     });
});

$.fn.single_double_click_for_upimg = function(single_click_callback, double_click_callback, timeout) {
  return this.each(function(){
    var clicks = 0, self = this;
    $(this).click(function(event){
      clicks++;
      if (clicks == 1) {
        setTimeout(function(){
          if(clicks == 1) {
            single_click_callback.call(self, event);
          } else {
            double_click_callback.call(self, event);
          }
          clicks = 0;
        }, timeout || 300);
      }
    });
  });
}

    $(".file-browse").single_double_click_for_upimg(function () {
    console.log("single");
     $(this).css('color', 'red');
}, function () {
    console.log("duble");
    $(this).css('color', 'green');
   });

HTML

<div id="holder"></div>

js Fiddle http://jsfiddle.net/nilesh026/4HD3H/4/

Теги:

1 ответ

0
Лучший ответ

Как и любой плагин, который требует, чтобы элементы существовали при запуске кода, вам нужно будет вызвать ваш плагин в обработчике успеха ajax

success:function(data){
      $("#holder").html(data).find('.file-browse').single_double_click_for_upimg(/*opts*/);
 }  

DEMO

Ещё вопросы

Сообщество Overcoder
Наверх
Меню