gpt4 book ai didi

javascript - 以编程方式更新 Webshim 日期在 IE 8 中不起作用

转载 作者:行者123 更新时间:2023-12-02 16:43:35 28 4
gpt4 key购买 nike

我正在使用 HTML <input type="date">带有 knockout 装订。我将 Webshim 用于不支持日期输入类型的浏览器。

native 浏览器运行良好;更改日期会更改模型,并且以编程方式更改模型会更改日期输入中显示的日期。

在不支持日期类型的浏览器(例如 IE8)上更改日期可以正常工作并更新 Knockout 模型,但反之则不然。对模型的更改不会传播到 Webshim 生成的日期选择器,只会传播到 Webshim 使用的隐藏输入。

是否有 Webshim 提供的方法或事件我可以调用或触发来告诉它查看数据并在更改后更新 UI?我如何编写 Knockout 绑定(bind)来调用它?

最佳答案

事实证明,webshim 要求您使用 jQuery().val() 来更新日期,而不是直接使用 DOM。我能够编写一个 knockout 绑定(bind),通过扩展正常值绑定(bind)来实现此目的:

ko.bindingHandlers.date = $.extend({}, ko.bindingHandlers.value);

ko.bindingHandlers.date.update = function(element, valueAccessor) {
// Set value using jQuery val method as this is caught internally by webshim
$(element).val(valueAccessor()());
};

然后我可以使用:

<input type="date" data-bind="'date': date">

正如预期的那样。

关于javascript - 以编程方式更新 Webshim 日期在 IE 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27292189/

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