動的にロードされたアンカータグにイベントリスナーを割り当てようとしています。この機能は、テキストボックスの下にポップアップ表示される簡単な提案ボックスです。まず、キーアップリスナーを検索ボックスに割り当てます。
$('.question').keyup(function(e) {
if (e.which != 13) {
self.suggest($(this).val());
}
});
次に、呼び出された関数、self.suggest
:
function suggest(text) {
if (text.length > 0) {
bkBtn.hide();
waitImg.show();
var d = document.createElement('div');
d.className = 'suggest-box';
var data = {}
data.text = text;
$.ajax({
url: BASE_URL + '/urm8/suggest',
type: 'POST',
data: data,
cache: false,
success: function(markup) {
waitImg.hide();
if (markup.indexOf('##none##') != -1 || markup.length == 0) {
$(d).hide();
}
else {
$(d).append(markup);
$('.content').append(d);
}
},
error: function(e) {
waitImg.hide();
alert('error');
$('.content').html('');
$('.content').append(e.responseText);
}
})
}
}
.suggest-link
ドキュメントの読み込み時にこの関数をセレクターに割り当てます。
$('.suggest-link').live('click', function(e) {
var answerID = $(this).attr('id');
alert(id)
self.updateBackStack();
$(document).find('.suggest-box').remove();
$('.content').blindRightToggle('fast', undefined, function() {
self.appendAnswer(false, answerID);
});
});
alert
ここには解雇はありません。この方法でイベントリスナーをアタッチする方法がわかりません。少し助けていただければ幸いです。
また、10分前の時点で最新の安定したjQueryを使用しています。