gpt4 book ai didi

java - 将 javascript 事件实现到 Wicket

转载 作者:行者123 更新时间:2023-11-30 07:34:22 25 4
gpt4 key购买 nike

我是 ria-development 的新手,正在使用 Ajax Slider example .我不知道如何处理 javascript 事件。在示例中,onValueChanged 事件是预先实现的。如何实现 onchange- 或 onSlider-event?

非常感谢所有帮助!

public abstract class AjaxSlider extends WebMarkupContainer {

private static final long serialVersionUID = 1L;

public AjaxSlider(String id) {
super(id);
super.setOutputMarkupId(true);
}
public JQUIComponentBehaivor<SliderOptions> getSlideBehaviors() {
List behaviors = getBehaviors();
for(Object behavior : behaviors){
if(behavior instanceof SliderBehavior)
return (SliderBehavior) behavior;
}
return null;
}


public abstract void onValueChanged(AjaxRequestTarget target,
int newValue);

@Override
protected void onInitialize() {
super.onInitialize();
AbstractDefaultAjaxBehavior ajaxBehavior =
new AbstractDefaultAjaxBehavior() {
private static final long serialVersionUID = 1L;

@Override
protected void respond(AjaxRequestTarget target) {
String sliderValue = RequestCycle.get().getRequest()
.getParameter("sv");
if (Utils.isNotBlank(sliderValue)) {
onValueChanged(target, Integer.valueOf(sliderValue));
}
}
};
super.add(ajaxBehavior);
super.add(new SliderBehavior(new SliderOptions()
.changeEvent(wicketAjaxGet(
ajaxBehavior,
new MapBuilder<String, Object>().add("sv",
js("ui.value")).build()))));
}

}

最佳答案

您提供的示例为 change 事件添加了一个事件处理程序。此事件处理程序所做的是向上面定义的 ajaxBehavior 发出 GET 请求。然后该行为从 GET 参数中提取 slider 值并调用 onValueChanged

您可以像这样向 SliderOptions 添加另一个事件处理程序。例如:

.slideEvent(
wicketAjaxGet(ajaxBehavior,
new MapBuilder<String, Object>()
.add("sv", js("ui.value")).build()))));

每当用户移动 slider 时,此处理程序都应调用 ajax 行为。

关于java - 将 javascript 事件实现到 Wicket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5212537/

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