存在基于GWT的应用程序(没有源代码),并且需要操纵其日期选择器。 所以我想用jQuery来做这个,但问题是GWT在每个ajax调用之后改变了DOM模型,我不知道如何通知刷新使用jQuery来选择元素并做我的东西。
是否可以使用jQuery进行此项工作?有没有更好的解决方案来操作GWT页面的元素而不访问其源代码?
答案 0 :(得分:0)
如果您正在寻找jQuery选择器的等价物($(" p")),GWT有专门用于它的DOM类,例如DOM.getElementById(" divID")选择具有给定id的元素。
Class提供了一组选择器,其中一些是: getChild(Element parent,int index), getInnerText(Element elem), sinkEvents(Element elem,int eventBits))
http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/DOM.html
答案 1 :(得分:0)
如何获知刷新
您可以尝试挂钩DOM更改。看看MutationObserver。你可以找到一个类似的解决方案here。
可以使用jQuery进行这项工作
嗯,你没有太多选择:)
操纵元素的更好解决方案
我不这么认为。
答案 2 :(得分:0)
你无法以确定的方式做到这一点。这是因为:
实现此目的的唯一方法是在GWT中公开回调函数:
public native void onDatePickerLoaded(DatePicker picker) {/*-{
if ($wnd.onDatePickerLoadedCallback) {
return $wnd.onDatePickerLoadedCallback(picker);
}
}-*/;
然后你可以在你的HTML中附加jQuery +自定义回调函数。 我没有看到任何其他可能性。