2017-02-16 66 views
-1

我一直試圖改變一個textarea的邊框顏色焦點時,但它沒有做任何事情,即使我只是試圖提醒一些事情。模糊/ Onblur沒有做任何事

這是到目前爲止,我已經試過的方法:

第一:

$('#idname').on('blur', function() { 
    alert(1); 
}); 

第二:

document.getElementById('idname').onblur() = function() { 
    alert(1); 
} 

第三:

function redBlur() { 
    alert(1); 
} 

而且html:

<textarea rows="1" cols="10" type="email" id="idname" name="title" onblur="redBlur()"></textarea> 

$('#idname').on('blur', function() { 
 
    alert(1); 
 
}); 
 

 
document.getElementById('idname').onblur() = function() { 
 
    alert(1); 
 
} 
 
function redBlur() { 
 
    alert(1); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea rows="1" cols="10" type="email" id="idname" name="title" onblur="redBlur()"></textarea>

你有什麼想法,我做錯了嗎?

謝謝。

+1

添加你的HTML也 – Mihai

+0

在這裏添加您完整的代碼 –

+0

動態添加的元素或具有相同的ID? – guradio

回答

0

在第二個示例中,您需要刪除onblur之後的括號,否則它會嘗試調用現有的處理程序,而不是分配新的處理程序。在使用getElementById後直接鏈接方法也很不尋常。試試這個:

var field = document.getElementById('idname'); 
field.addEventListener('blur', function() { 
    alert(1); 
}); 
+0

我試圖簡單地刪除缺口並將元素分配給變量就像在你的例子中一樣,但是它並沒有工作......感謝你的答案 – couchPotato

0

<html> 
 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
    <textarea id="test"></textarea> 
 
    <script> 
 
      $(function(){ 
 
      $('#test').on('blur', function(){ 
 
        $('#test').css('border-color', 'red'); 
 
       }); 
 
      }); 
 
     }); 
 
    </script> 
 
</body> 
 
</html>