用户添加新注释。注释被添加到数据库并返回注释的 HTML 以显示给用户并返回该注释的上下文菜单:
success: function( result ) {
var resultArray = eval( result );
$( "#notes").append( resultArray[0] );
$( "#notes").append( resultArray[1] );
}
结果数组 [0] 是:
<tr class="getMenuNote contextMenuPointer-note" id="<?php echo $note->id ?>">
/*details of note here... nothing interesting and works just fine*/
</tr>
结果数组 [1] 是:
<div class="contextMenu" id="menu-<?php echo $note->id ?>" class="dropdown clearfix">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a tabindex="-1" href="" class="deleteNote" noteID="<?php echo $note->id ?>">Delete</a></li>
</ul>
</div>
问题是,当用户单击该注释时,它应该调用 .getMenuNote。这是在文件加载时加载的。我知道 .getMenuNote 不知道新附加的 HTML 存在并且无法将其链接在一起,但我如何让它知道它存在?
我调查了 .on() 和 .live() 但似乎没有一个对我有用。寻找代码而不是理论的解决方案。
谢谢大家!
编辑 这里是事件处理程序:
$( ".getMenuNote" ).click( "contextmenu", function ( e ) {
noteID = $( this ).attr( "id" );
$( "#menu-" + noteID ).css( {
display: "block",
left: e.pageX,
top: e.page
} );
return false;
} );