在动态<div>加载</div>上触发javascript

时间:2011-01-19 22:38:09

标签: javascript jquery jquery-plugins javascript-events

我正在为安装AJAXchat添加页面标题通知。我正在使用一个名为jquery-titlealerts的jquery插件来实现这一目标。如果我在onclick事件上分配方法,它可以正常工作并更改页面标题。但这并不是我需要的。每次创建新div时我都需要它来更改页面标题。每当有人提交消息时,这里的js就会动态创建一个新的div:

return '<div id="'
+ this.getMessageDocumentID(messageID)
+ '" class="'
+ rowClass
+ '">'
+ this.getDeletionLink(messageID, userID, userRole, channelID)
+ dateTime
+ '<span class="'
+ userClass
+ '"'
+ this.getChatListUserNameTitle(userID, userName, userRole, ip)
+ ' dir="'
+ this.baseDirection
+ '" onclick="$.titleAlert(\'Error!\');">'
+ userName
+ '</span>'
+ colon
+ this.replaceText(messageText)
+ '</div><script>$.titleAlert(\'Error!\');</script>';

返回

正如你所看到的,我已经尝试创建一个<script>块来加载到div的正下方 - 但它确实存在但由于某种原因没有改变文档标题。如果您单击聊天中生成的消息,它将起作用,因为它是从onclick事件触发的。 我不确定在加载每个div时还有什么可以让它工作。

2 个答案:

答案 0 :(得分:2)

在您调用具有此return语句的函数的位置,在调用该函数后,您应该更新页面标题。如果您不想这样做,您可以使return s新功能内容在返回之前更新页面标题。

或者,考虑使用jQuery的$.ajax()方法和complete(或success)回调来进行标题修改。老实说,如果我要解决这个问题,这将是我的首选方法。

您可以阅读有关$.ajax() here的全部内容。

答案 1 :(得分:1)