调用.unbind()后“重新绑定”一个滑块?

时间:2013-05-15 09:24:38

标签: javascript jquery

我取消绑定一个滑块以禁止人们在游戏结束后上下移动它,但是当他们再次点击播放时,滑块应重新绑定再次工作。

在我的startGame()函数中,这是在init()之后调用的,但也在gameReset()上调用:

$( "#mySlider" )
.on('mousedown', sliderMouseDown)
.on('touchstart', sliderMouseDown)
.slider({
  orientation: "vertical",
  range: "min",
  min: 0,
  max: 100,
  value: 0,
  step: 1,
  animate: "slow",
  slide: refreshSwatch,
  change: refreshSwatch
});

该代码最初可以很好地“设置”滑块,但是当gameReset()再次调用startGame()代码时,它似乎不会“重新绑定”滑块。我不认为我做得对,还有另一种方式吗?

我在gameEnded()上取消绑定的代码是:

$("#mySlider").unbind();

1 个答案:

答案 0 :(得分:1)

而不是取消绑定尝试destroy

$("#mySlider").slider( "destroy" );

或者你可以disableenable滑块

gameEnded()

$( "#mySlider" ).slider( "disable" );

并在gameReset()

$( "#mySlider" ).slider( "enable" );