如果NewMessage更改,我想要一个警报。我已经尝试过livechange onbind change,但是没有任何效果。

相关的PHP:

$message=6;
    $myReturnData["Message"] = $message;

  //JSON-encode and return
  print json_encode($myReturnData);


相关jQuery:

setInterval(function(){
     $.getJSON("foo.php", function(data){
         var NewMessage=(data.Message);
         if(NewMessage>0){
             document.title= NewMessage + ' pm';}
             $(NewMessage).live("change", function() {
                alert(NewMessage);
                });
      });
   }, 3000);

最佳答案

“改变”没有按照您的想象做。您应该将原始消息存储在变量中,然后将其与收到的新消息进行比较。像这样:

var currentMessage = '';
setInterval(function(){
     $.getJSON("foo.php", function(data){
         var NewMessage=(data.Message);
         if(NewMessage>0){
             document.title= NewMessage + ' pm';
             if (currentMessage !== NewMessage) {
                 alert(NewMessage);
                 currentMessage = NewMessage;
             }
         }
    });
}, 3000);

09-12 08:41