在内容级别使用谷歌浏览器扩展程序时未定义DP_jQuery_ *

我正在开发谷歌Chrome扩展程序。 我试图在现有网页的jquery-ui对话框中使用jquery-ui datepicker(内容级别)

像这样: 截图

当我点击datepicker小部件的任何按钮时,我得到“DP_jQuery_1274168529407未定义”,我认为这是因为jquery datepicker在html上添加了:

onclick="DP_jQuery_1274192751418.datepicker._selectDay('#new\\-app\\-date',4,2010, this);return false;" 

这意味着我将不得不更改datepicker库以避免修改html,而是在每个obj上附加一个事件,如下所示:

 .click(function(){DP_jQuery_1274192751418.datepicker._selectDay('#new\\-app\\-date',4,2010, this);return false;}) 

这可能会保证范围的安全

你怎么看?

我的haxorz技能再次占了上风!

通过插入以下内容在第8307行修改函数_updateDatepicker中的jquery-ui.js代码:

 .find('[onclick]').each(function(){ var command = $(this).attr('onclick')+''; $(this).removeAttr('onclick'); command = command.replace("function onclick(event) {",""); command = command.substr(0, command.length-2); $(this).click(function(){eval(command);}); }) .end() 

会解决这个问题。

我知道这很难看我知道它可以用更少的线来完成但是这只是暂时的,直到jquery ui团队修复了这个