2009-06-03 2 views
2

Я пытаюсь сделать следующее:JQuery пользовательских нажмите

$("#something ."+id).click(function() { 
    callFunction(id,message); 
});  

$("#something ."+id).silentclick(function() { 
    callFunction(id,message,'silent'); 
}); 

Но silentclick дает ошибку говоря функция не существует. Как мне создать собственное пользовательское событие, например silentclick?

Спасибо за ваше время.

+0

Что именно вы должны делать? Свойство «click» позволяет поместить вызов функции, когда пользователь нажимает на элемент, недостаточно ли этого? – Ivar

ответ

3

Я думаю, вы пытаетесь создать собственное событие. Если это так, вы можете использовать либо .bind(), либо .live().

$("#something ."+id).bind('silentclick',function() {  
    callFunction(id,message,'silent'); 
}); 

Затем вы можете запустить событие из другого места в своем коде.

$("#something ."+id).trigger('silentclick'); 
+0

Черт, ты избил меня до 30 секунд :( –

3

Вы расширяете Jquery как это:

(function($){ 
    $.fn.silentclick = function(action) { 
     /* do what you like with the function passed */ 
     action(); /* for example invoke the function */ 
    } 
})(jQuery); 

Не зная, что silentclick хочет делать, или как вы хотите, это вызвало, я не могу дать каких-либо деталей.