2015-09-14 127 views
0

相同的代碼在focus()的register.phtml頁面上工作,但是這個代碼不能在personal.phtml上工作。爲什麼focus()方法不起作用?

<script> 
    $(document).ready(function(){ 
     $("#rut").blur(function(){ 
      document.getElementById('error12').innerHTML =""; 
      var Rut = $("#rut").val(); 
      var RemoveDotInRut = Rut.split('.').join(""); 
      var RemoveHypenInRut = RemoveDotInRut.split('-').join(""); 
      var freshString = RemoveHypenInRut.length; 
      if(freshString<8 || freshString>9){ 
       document.getElementById('error12').innerHTML = "<?php echo $this->__('Please enter a valid Rut number.') ?>"; 
       $("#rut").val(''); 
       $("#rut").focus(); 
      } 

     }); 
    }); 
    </script> 

一切都在上面的腳本,但重點工作()不工作。爲什麼?

回答

1

使用的是:Demo

移動你的.focus()在那裏:

$(this).delay(0).queue(function() { 
    $(this).focus().val("").dequeue();; 
}); 

另外,我還優化了代碼。 $("#rut")已更換爲$(this)

+0

謝謝Sherali,這是工作。 –

+0

@AmitKushwaha。別客氣。另外,你可以使用'setTimeout'(@Jaromanda X表示它)。 http://jsfiddle.net/ys4go2n7/8/ –

+0

哦對不起,我沒有得到。對不起 –

1
一旦模糊函數結束,因此設置焦點模糊函數內已沒有作用

取代

$("#rut").focus(); 

setTimeout(function() { 
    $("#rut").focus(); 
}, 0); 

焦點將會丟失從而將「重新關注「下一個事件循環中的元素

+0

嗨Jaromanda,你能告訴我這個函數必須在我的腳本中調用嗎? –

+0

如果您匆忙 –

-2

使用belo W代碼:

$("#focusedDiv").focus(function() { 
    .... 
}); 
+0

,我會在下午3點30分左右說出如何分配焦點事件偵聽器來提供幫助? –

-2

點擊here

從基本的嘗試。

+0

這不是答案,而w3schools在這裏並不是很好看 –

相關問題