У меня возникли проблемы с подключением события click к объекту JQuery, прежде чем добавлять его в DOM.
В основном у меня есть эта кнопка, возвращающая мою функцию, а затем добавляю ее в DOM. Я хочу вернуть кнопку с помощью собственного обработчика кликов. Я не хочу выбирать его из DOM для прикрепления обработчика.
Мой код:
createMyButton = function(data) {
  var button = $('<div id="my-button"></div>')
    .css({
       'display' : 'inline',
       'padding' : '0px 2px 2px 0px',
       'cursor' : 'pointer'
     }).append($('<a>').attr({
       //'href' : Share.serializeJson(data),
       'target' : '_blank',
       'rel' : 'nofollow'
     }).append($('<image src="css/images/Facebook-icon.png">').css({
       "padding-top" : "0px",
       "margin-top" : "0px",
       "margin-bottom" : "0px"
     })));
     button.click(function () {
        console.log("asdfasdf");
     });
     return button;     
}
Кнопка, которая возвращает, не может поймать событие клика. Однако, если я это сделаю (после того, как кнопка добавлена в DOM):
$('#my-button').click(function () {
    console.log("yeahhhh!!! but this doesn't work for me :(");
});
Это работает... но не для меня, а не для того, что я хочу.
Я потратил часы, пытаясь сделать эту работу, похоже, связан с тем, что объект еще не является частью DOM. Любая помощь будет очень оценена.
О! Кстати, я работаю с OpenLayers, а объектом DOM, к которому я добавляю эту кнопку, является OpenLayers.FramedCloud(Wich еще не является частью DOM, но будет сразу после запуска нескольких событий).
