Sta*_*s_S 13 javascript jquery
我在下面写了一小段使用change方法的jQuery代码.我刚刚发现jQuery不再在项目中使用,所以我需要在Vanilla JS中重新编写change方法.只是寻求一些帮助我如何做到这一点.这是代码,它拉取一个输入的值并将其输入另一个输入.
(function(){
$('#Email').change(function() {
$('#UserName').val($(this).val());
});
})();
Run Code Online (Sandbox Code Playgroud)
Rap*_*DDL 20
如果您不需要支持旧的IE,可以使用querySelector + addEventListener:
document.querySelector('#Email').addEventListener('change',function(){
document.querySelector('#UserName').value = this.value;
});
Run Code Online (Sandbox Code Playgroud)
在视觉上它看起来就像jQuery一样.on('change', fn)(这就是.change()调用),只是更详细.
Cᴏʀ*_*ᴏʀʏ 11
浏览器因事件的附加方式而异.您可能想要从一个小帮助方法开始:
function addEventHandler(elem, eventType, handler) {
if (elem.addEventListener)
elem.addEventListener (eventType, handler, false);
else if (elem.attachEvent)
elem.attachEvent ('on' + eventType, handler);
}
Run Code Online (Sandbox Code Playgroud)
对于以下示例,我将假设您的IIFE应该确实是一个DOM-ready事件.代码中的IIFE似乎没有任何用途.所以...
您的代码中有两个事件,即DOM-ready事件("DOMContentLoaded")和select元素的更改事件("onchange").利用上面的帮助程序,您的jQuery语法转换为:
addEventHandler(document, 'DOMContentLoaded', function() {
addEventHandler(document.getElementById('Email'), 'change', function() {
document.getElementById('UserName').value = this.value;
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16193 次 |
| 最近记录: |