Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gquery-live方法,如何正确使用它_Java_Gwt_Jquery_Gquery - Fatal编程技术网

Java Gquery-live方法,如何正确使用它

Java Gquery-live方法,如何正确使用它,java,gwt,jquery,gquery,Java,Gwt,Jquery,Gquery,我正在体验Gquery,并发现使用live()方法很困难。就我而言,当您想要为“未来”元素定义一些行为时,它非常有用。例如,我想将背景颜色更改为单击某个按钮后创建的任何水平面板。示例代码附在下面 RootPanel.get(); //before invoking live method, recommended in gwt forum GQuery hPanel = mySelectors.getHorizontalPanel(); hPanel.live(Event.ONCLICK, ne

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

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);
如果您能在这个问题上提供任何帮助或帮助,我们将不胜感激


提前谢谢

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

能否尝试替换这部分代码:

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

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

GQuery hPanel = mySelectors.getHorizontalPanel();
hPanel.live(Event.ONCLICK, new Function () {
$(".horizontal-panel").live(Event.ONCLICK, new Function () {