动态javascript与IE的条件评论?

时间:2014-01-02 20:24:41

标签: javascript jquery-ui internet-explorer-8 conditional-comments

我有一个遗留的网络应用程序,我正在尝试修改一下。我已经将jQueryUI日期时间选择器(http://trentrichardson.com/examples/timepicker/)添加到多个页面(绑定到文本输入),因此用户可以选择开始/结束日期/时间。我已将其配置为使用“选择”框而不是“滑块”进行小时/分钟选择。这在我测试过的所有浏览器中工作正常,除了IE8(尚未在早期版本的IE中测试过)。在IE8中,响应日期选择的速度非常慢。这是创建日期时间选择器的javascript代码:

$("#dtpStart").datetimepicker({
  controlType: "select",
  timeFormat: "HH:mm",
  stepMinute: 15
});

如果删除controlType: "select",行,则窗口小部件默认使用滑块,这样做可以加快IE8中的使用速度。所以如果用户使用的是IE>我希望能够只包含该行。 8.那样,IE8及更早版本会获得滑块,而IE9 +和非IE浏览器会获得选择框。

我认为我可以通过使用IE的条件评论来做到这一点,但我无法让它发挥作用。我之前从未使用过它们,但可能做得不对。我尝试过各种变体:

$("#dtpStart").datetimepicker({
  <!--[if ! IE]><!-->    controlType: "select",<!--<![endif]-->
  timeFormat: "HH:mm",
  stepMinute: 15
});

没有成功;无论我使用什么浏览器,我仍然会使用滑块。我猜这是因为当我尝试使用条件注释时,我正在定义datetimepicker?

关于如何做到这一点的任何建议?

1 个答案:

答案 0 :(得分:0)

您可以尝试Conditional Compilation

var datetimePickerObject = {
  controlType: "select",
  timeFormat: "HH:mm",
  stepMinute: 15
};
/*@cc_on
delete datetimePickerObject.controlType;
@*/
$("#dtpStart").datetimepicker(datetimePickerObject);