输入事件上的JavaScript
我有一个带有CSS动画的表单,当表单字段被选中时,标签会被设置动画,当文本被填充时,标签不会被设置动画。这适用于输入字段,但不适用于textarea。似乎找不到问题,我已经玩了一段时间了 这是我的JS代码:输入事件上的JavaScript,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个带有CSS动画的表单,当表单字段被选中时,标签会被设置动画,当文本被填充时,标签不会被设置动画。这适用于输入字段,但不适用于textarea。似乎找不到问题,我已经玩了一段时间了 这是我的JS代码: <script> (function() { // trim polyfill : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/S
<script>
(function() {
// trim polyfill : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim
if (!String.prototype.trim) {
(function() {
// Make sure we trim BOM and NBSP
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
[].slice.call( document.querySelectorAll('input.input_field', 'input-textarea.input_field-textarea') ).forEach( function( inputEl ) {
// in case the input is already filled..
if( inputEl.value.trim() !== '' ) {
classie.add( inputEl.parentNode, 'input--filled' );
}
// events:
inputEl.addEventListener( 'focus', onInputFocus );
inputEl.addEventListener( 'blur', onInputBlur );
} );
function onInputFocus( ev ) {
classie.add( ev.target.parentNode, 'input--filled' );
}
function onInputBlur( ev ) {
if( ev.target.value.trim() === '' ) {
classie.remove( ev.target.parentNode, 'input--filled' );
}
}
})();
</script>
而不是删除这两个额外的:
document.querySelectorAll('textarea.input_field-textarea, input.input_field'))
谢谢大家的帮助 将input-textarea.input_field-textarea选择器更改为textarea.input_field-textarea。没有这样的元素:
[].slice.calldocument.querySelectorAll'input.input_field','textarea.input_field-textarea'。forEachfunctioninputEl{
// ...
};
尝试将此input-textarea.input\u field-textarea更改为此textarea.input\u field-textarea是否存在实现document.QuerySelector的浏览器,该浏览器需要为String.prototype.trim添加垫片,但未实现该垫片?我想问题可能在这里:document.QuerySelector所有“input.input\u field”,“textarea.input\u field-textarea”是因为当我只留下textarea的一部分时,当我把这两个部分都放在第一个部分时,当我切换位置时,只有第一个部分起作用。所以这一直是document的问题。querySelectorAll'input.input\u field',“textarea.input\u field-textarea”应该是document.querySelectorAll'input.input\u field,textarea.input_field-textarea'。那些是unnecessary@FallenRider您的元素是否具有class=input\u field-textarea?
document.querySelectorAll('textarea.input_field-textarea, input.input_field'))