-2

开发一个移动网络应用程序:

  • jQuery 1.7.1
  • jQuery-移动 1.1.1
  • 导轨 3.2.1

在这里,我打算<span id="wake_up_time_display">随着滑块值的变化而改变时间指示器 ( ) 的内容。

以下在直接调用目标 URL 时有效。

但是在很多情况下,jQuery mobile 显示 时<div data-role="page">,指示器保持不变。(滑块本身的值会发生变化。)

<label class="select" for="daily_record_wakeup_time">
    I'll wake up at: 
</label>
<span id="wake_up_time_display"> 6:00</span>
<input data-theme="e" data-track-theme="d" id="daily_record_wakeup_time" 
       max="480" min="240" name="daily_record[wakeup_time]" step="15" 
       type="range" value="360" />

<script>
    $("input[id='daily_record_wakeup_time']").live ("slidercreate", function () {
        $("input[id='daily_record_wakeup_time']").bind ("change", function (event) {
            $("#wake_up_time_display").text(Math.floor($(this).val() / 60) +
                    ":"+($(this).val() % 60 < 10 ? "0":"")+$(this).val() % 60);
        });
    });
</script>
4

1 回答 1

0

你为什么不直接使用 CSS 选择器呢

$("#daily_record_wakeup_time")

而不是将 ID 作为属性传递?此外,如果您可以避免使用“live”方法而使用“delegate”,那就太好了。jQuery 已经弃用了这个方法,新版本不再支持它。确保在库中的某处有自定义事件“slidercreate”。

于 2012-07-28T06:04:14.113 回答