0
我需要根據用戶輸入更新滑塊的範圍和數字格式(格式選項)。 由於格式不在我可以使用updateOptions方法更新的選項之中,所以我必須銷燬滑塊並創建一個新滑塊。但事件我鉤了原來的滑塊停止工作,雖然文檔說'事件並沒有被綁定當銷燬滑塊'https://refreshless.com/nouislider/more/ 我的代碼有什麼問題?有沒有辦法限制事件回來?當我銷燬滑塊時,事件會解除綁定
var slider = document.getElementById('slider');
noUiSlider.create(slider, {
start: [ 1000000 ],
step: 1000,
connect: 'lower',
range: {
'min': [ 500000 ],
'max': [ 5000000 ]
},
format: rubleFormat
});
//code's getting redundant, I repeat it. Will fix later
function updateSlider(currency) {
if(currency == 'USD') {
slider.noUiSlider.destroy();
noUiSlider.create(slider, {
start: [ 10000 ],
step: 100,
connect: 'lower',
range: {
'min': [ 5000 ],
'max': [ 300000 ]
},
format: dollarFormat
});
}
else {
slider.noUiSlider.destroy();
noUiSlider.create(slider, {
start: [ 1000000 ],
step: 1000,
connect: 'lower',
range: {
'min': [ 500000 ],
'max': [ 5000000 ]
},
format: rubleFormat
});
}
}
Lg102,謝謝。但看起來我太愚蠢了。據我瞭解,你會覆蓋原來的get方法,它開始做什麼?它如何開始工作? – Tyoma
試過了。我創建了滑塊並將'format'選項留空。然後我粘貼你的代碼並嘗試用'updateOptions()'方法更新滑塊來改變範圍。更新工作,但滑塊現在忽略格式https://jsfiddle.net/artdeev/5vshz44r/我不知道該怎麼做。有任何想法嗎? – Tyoma
我已根據您提供的說明更新了您的示例。 – Lg102