gpt4 book ai didi

java - Gquery - 实时方法,如何正确使用它

转载 作者:行者123 更新时间:2023-12-01 15:21:08 26 4
gpt4 key购买 nike

我正在体验 Gquery 并发现一些难以使用 live() 方法的东西。就我而言,当您想为“ future ”元素定义某些行为时,它非常有用。例如,我想在单击某个按钮后将背景颜色更改为我创建的任何水平面板。下面附有示例代码。

RootPanel.get(); //before invoking live method, recommended in gwt forum
GQuery hPanel = mySelectors.getHorizontalPanel();
hPanel.live(Event.ONCLICK, new Function () {
public boolean f (Event e) {
int red = 100;
int green = 100;
int blue = 100;
while (red < 250) {
while (green < 250) {
while (blue < 250) {
String bgColor = "backgroundColor: 'rgb(" + red + "," + green + "," + blue + ")'";
$(e).animate(bgColor,8);
blue+=10;
}
green+=10;
}
red+=10;
}
return false;
}
});

HorizontalPanel horizontalPanel = new HorizontalPanel();
horizontalPanel.setHeight("40px");
horizontalPanel.setWidth("40px");
horizontalPanel.setStyleName("horizontal-panel");

final HorizontalPanel newPanel = new HorizontalPanel();
newPanel.add(horizontalPanel);
RootPanel.get("horizontalPanels").add(newPanel);

出于某种原因,当我单击面板时不会调用任何事件。选择器通过以下方式声明:

@Selector(".horizontal-panel")
GQuery getHorizontalPanel();

任何帮助,或对这个问题的了解,我们将不胜感激,

提前致谢!

最佳答案

我认为这是因为 live 不支持选择器...

您可以尝试替换这部分代码吗:

GQuery hPanel = mySelectors.getHorizontalPanel();
hPanel.live(Event.ONCLICK, new Function () {

作者:

$(".horizontal-panel").live(Event.ONCLICK, new Function () {

live() 需要知道 css 选择器。如果您使用 @Selector,它会丢失此信息,因为 GQuery 在编译时通过查询元素的最优化方式替换它

关于java - Gquery - 实时方法,如何正确使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10916507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com