2015-09-15 72 views
0

當輸入改變時,程序需要通知。下面是我的代碼:如何在輸入發生變化時通知我?

$(document).ready(function(){ 
    var myfunction = setInterval(function(){ 
     $('input').change(function(){     
    }); 
    $.post("getvalue.php",function(callback){ 
     $(notify.createNotification("NOTIFICATION", {body:"<?php echo $arrb; ?>", icon: "../src/func/notif/icon.jpg"})).html(callback); 
     }); 
    clearInterval(myfunction) },1000); 
}); 
+0

您需要在第3行中的輸入更改處理程序中實際添加一些代碼。 – CollinD

回答

2
  1. 使用change事件處理程序,你剛剛綁定的change事件處理程序,但是當事件發生,你什麼都沒有做。
  2. 呼叫功能notifyinput值改變
  3. 沒有必要使用setInterval
  4. 如果你想使用setInterval使用setTimeout代替setInterval爲你清除它,當調用回調的。
  5. 不要使用callback爲應變量的名稱,使用它作爲response更好的命名約定

例:

var interval = setInterval(function() { 

    clearInterval(interval); 
}, 1000); 

是相當於

setTimeout(function() { 

}, 1000); 

代碼:

$(document).ready(function() { 
    function notify() { 
     $.post("getvalue.php", function (response) { 

      $(notify.createNotification("NOTIFICATION", { 
       body: "<?php echo $arrb; ?>", 
       icon: "../src/func/notif/icon.jpg" 
      })).html(response); 

     }); 
    } 

    $('input').change(notify); 
}); 
0

採取.change處理了設定的時間間隔,並調用它,一旦你已經在DOM中創建自己的輸入,通常在頁面加載精做你的腳本應該是這個樣子:

$(document).ready(function() { 
    $('input').change(function() { 
     console.log("any input changed because I hooked all input elements on my page"); 
    }); 

    var myfunction = setInterval(function() { 

     $.post("getvalue.php", function (callback) { 

      $(notify.createNotification("NOTIFICATION", { 
       body: "<?php echo $arrb; ?>", 
       icon: "../src/func/notif/icon.jpg" 
      })).html(callback); 

     }); 
     clearInterval(myfunction); 
    }, 1000); 
}); 

我不確定你的通知函數應該做什麼,但除了在頁面準備好1000毫秒之後纔會調用一次,它看起來並不正確。

Goodluck。

相關問題