【发布时间】:2017-09-28 15:17:32
【问题描述】:
我似乎无法弄清楚为什么剑道不起作用。我正在尝试在剑道窗口上创建一个自定义按钮,以将窗口扩大到 75%,然后再回到 34%。
查看
@(Html.Kendo().Window()
.Name("stockLineWindow").HtmlAttributes(new { @class = "windows" })
.Title("Stock")
.Draggable()
.Resizable(resizable => resizable.Enabled(true))
.Visible(false)
.Scrollable(false)
.Actions(actions => actions.Minimize().Maximize().Custom("arrow-chevron-right"))
)
JAVASCRIPT
var stkWrapper = $("#stockLineWindow").data("kendoWindow");
var expand = stkWrapper.wrapper.find(".k-i-arrow-chevron-right");
expand.click(function (e) {
stkWrapper.setOptions({
width: "75%"
});
$(this).removeClass("k-i-arrow-chevron-right");
$(this).addClass("k-i-arrow-chevron-left");
e.preventDefault();
});
var contract = stkWrapper.wrapper.find(".k-i-arrow-chevron-left");
expand.click(function (e) {
stkWrapper.setOptions({
width: "34%"
});
$(this).removeClass("k-i-arrow-chevron-left");
$(this).addClass("k-i-arrow-chevron-right");
e.preventDefault();
});
这里发生了两件事:
- 当窗口打开时,我可以运行展开。但是 DOM 在 setOption 之后重置并继续显示 '>' 而不是更改类。
-
它展开后它永远不会缩回,即使我将 javascript 更改为此:
var stkWrapper = $("#stockLineWindow").data("kendoWindow"); var expand = stkWrapper.wrapper.find(".k-i-arrow-chevron-right"); expand.click(function (e) { if (stkWrapper.options.width <= "75%") { stkWrapper.setOptions({ width: "75%" }); e.preventDefault(); } else { stkWrapper.setOptions({ width: "34%" }); } e.preventDefault(); });
它发生一次,永远不会再发生。除非我重新加载窗口。我想做的只是剑道窗口上的一个简单的扩展和收缩按钮。我不确定这是怎么做到的。
【问题讨论】:
标签: javascript jquery kendo-ui telerik