3

我正在开发一个谷歌浏览器扩展。我正在尝试在现有网页的 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;})

这可能会保持范围安全

你怎么看?

4

1 回答 1

3

我的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 团队修复这个

于 2010-05-20T14:21:26.540 回答