У меня проблема с живой функцией Jquery. Я добавляю данные динамически, поэтому мне нужно использовать живую функцию, чтобы щелкнуть по элементу, который добавлен динамически.
$("a.pm_member").live("click", function(){
alert('clicked');
});
Данные добавлены правильно. Сообщения об ошибках отсутствуют, но окно предупреждения не отображается.
Буду рад, если кто-нибудь сможет мне помочь с этой проблемой.
Edit:
Я хотел бы дать более подробную информацию.
Это то, что я использую на странице;
<script>
new TINY.editor.edit('editor',{
id:'tiny_input',
height:200,
cssclass:'te',
controlclass:'tecontrol',
rowclass:'teheader',
dividerclass:'tedivider',
controls:['bold','italic','underline','strikethrough','|','subscript','superscript','|',
'orderedlist','unorderedlist','|','outdent','indent','|','leftalign',
'centeralign','rightalign','blockjustify','|','unformat','|','undo','redo','n','image','hr','link','unlink','|','cut','copy','paste','print','|','font','size','style'],
footer:false,
fonts:['Arial','Verdana','Georgia','Trebuchet MS'],
xhtml:true,
cssfile:'style.css',
bodyid:'editor',
footerclass:'tefooter',
toggle:{text:'source',activetext:'wysiwyg',cssclass:'toggler'},
resize:{cssclass:'resize'}
});
$('button#post').click(function () {
editor.post();
});
$('#suggestions').hide();
function hideSuggestions () {
$('#suggestions').hide();
}
$("a.pm_member").live("click", function(){
alert('clicked');
});
</script>
Это система PM. Когда администратор пишет имя пользователя в области ввода получателя, скрипт предлагает несколько имен пользователей.
<input type="text" name="userName" class="medium" maxlength="100" onkeyup="findMember(this.value);" onblur="hideSuggestions();" onfocus="findMember(this.value);"/>
<div id="suggestions"></div>
В index.php включено более 1 страницы. Я могу использовать функцию .live () без проблем на любой другой странице, но не в send-pm.php.
Я не совсем понимаю, как его отладить и как решить.
.bind (), .live (), .find () просто не работает.
Следующие элементы добавляются динамически;
<div class="flat_area grid_8 searchresults">
<h2 class="box_head grad_colour round_top">Member Suggestions</h2>
<div class="block">
<ul class="full_width">
<li>
<strong>Username: </strong> <a href="#" id="{$found->id}" class="pm_member">{$found->username}</a><br />
<strong>Full Name: </strong> {$found->fullName}<br />
<strong>Email: </strong>{$email}
</li>
<li>Total <strong>{$totalRecords}</strong> records found.</li>
</ul>
</div>
</div>
Есть идеи как его отладить?
РЕДАКТИРОВАТЬ 2:
Я даже пытался добавить следующий код между элементами сразу после добавления файлов jquery и jquery ui.
<!-- Load JQuery -->
<script type="text/javascript" src="includes/js/jquery-1.5.1.min.js"></script>
<!-- Load JQuery UI -->
<script type="text/javascript" src="includes/js/jquery-ui-1.8.11.custom.min.js"></script>
<script>
$(document).ready(function() {
$("a.pm_member").live("click", function(){
alert('clicked');
});
});
</script>
Если речь идет о коде Jquery, который его тормозит, разве это не нужно исправлять (хотя я не очень хорош в Jquery).
РЕДАКТИРОВАТЬ 3:
Моя функция поиска членов
function findMember (inputString) {
if(inputString.length == 0) {
$('#suggestions').fadeOut(); // Hide the suggestions box
} else {
$.get(siteUrl + "includes/ajax/profile.php?do=find-member", {username: ""+inputString+""}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
}
}
Еще раз, спасибо за вашу помощь и заботу.