1
我試圖將一個按鈕點擊轉換爲啓用或禁用某個功能的切換,具體取決於其狀態。該功能允許輸入鍵用於表單提交。切換取決於按鈕狀態的函數?
var enterToggle = true;
function enterToggleListener(elem) {
enterKeyPress();
elem.click(function() {
enterToggle = !enterToggle;
console.log('enter-toggle clicked')
if (enterToggle === false) {
console.log('enter toggle false')
// What do I need to add here to stop 'enterKeyPress()'?
} else {
console.log('enter toggle true')
enterKeyPress();
}
});
}
function enterKeyPress() {
$('#noteText').keypress(function(e){
if(e.which == 13){
$('#noteButton').click();
}
});
}
enterToggleListener($('#toggle-button'));
我不明白的是如何停止enterKeyPress()
功能時enterToggle
是假的。有什麼建議麼?
編輯:清理的代碼,用@詹姆斯蒙塔涅的答案添加
var enterToggle = true;
function enterToggleListener(elem) {
elem.click(function() {
enterToggle = !enterToggle;
if (enterToggle === false) {
$('#enter-toggle').text('Enter key saves note (OFF)')
} else {
$('#enter-toggle').text('Enter key saves note (ON)')
}
});
}
function enterKeyPress() {
$('#noteText').keypress(function(e){
if(enterToggle && e.which == 13){
$('#noteButton').click();
}
});
}
enterKeyPress();
enterToggleListener($('#enter-toggle'));
您不應該在其他事件處理程序中綁定事件 – Ian 2013-05-13 19:19:24