Javascript 单独文件中的“this.variable”对象元素

Javascript 单独文件中的“this.variable”对象元素,javascript,html,this,Javascript,Html,This,HTML代码: <input class="jscolor" id="color-picker"> <div id="rect" class="rect"></div> <script src="jscolor.js"></script> <script src="skrypt.js"></script> 在上面的示例中,函数“update”不能正常工作,但如果我将此函数导入html &l

HTML代码:

<input class="jscolor" id="color-picker">

   <div id="rect" class="rect"></div>

   <script src="jscolor.js"></script>
   <script src="skrypt.js"></script>
在上面的示例中,函数“update”不能正常工作,但如果我将此函数导入html

<input class="jscolor" id="color-picker" onchange="update(this.jscolor)">
没关系

因此,我的问题是,遵循良好的趋势,如何从html中删除事件导入,并将其移动到单独的javascript文件中?

您应该在函数体中解决这个问题:

document.getElementById('color-picker').onchange = function () {
    update(this.jscolor);
};
您应该在函数体中解决此问题:

document.getElementById('color-picker').onchange = function () {
    update(this.jscolor);
};
这将在附加事件处理程序时执行更新

这将在事件激发时执行更新

要以编程方式附加在事件发生时触发的事件处理程序,请执行以下操作:

document.getElementById('color-picker').addEventListener('change', function () {
    update(this.jscolor);
});
这将在附加事件处理程序时执行更新

这将在事件激发时执行更新

要以编程方式附加在事件发生时触发的事件处理程序,请执行以下操作:

document.getElementById('color-picker').addEventListener('change', function () {
    update(this.jscolor);
});

如果您正在寻找一种最佳实践的不引人注目的方法,请尝试下面的代码片段

注意:下面的代码段显然是一个非常简单的示例,因为.rect只会更改为一种红色背景色,但您可以修改脚本,以便.rect可以更改为任意数量的背景色值

var jscolor='rgb255,0,0'; 函数updatejscolor{ var rect=document.getElementsByClassName'rect'[0]; rect.style.backgroundColor=jscolor; } 函数颜色更新{ var colorPicker=document.getElementsByClassName'color-picker'[0]; addEventListener'click',函数{updatejscolor;},false; } addEventListener'load',colorUpdate,false; .颜色选择器,.rect{ 浮动:左; 宽度:100px; 高度:100px; 右边距:40px; } .直肠{ 背景色:RGB236236; } 单击我为Rect提供红色背景
Rect如果您正在寻找一种最佳实践的不引人注目的方法,请尝试下面的代码片段

注意:下面的代码段显然是一个非常简单的示例,因为.rect只会更改为一种红色背景色,但您可以修改脚本,以便.rect可以更改为任意数量的背景色值

var jscolor='rgb255,0,0'; 函数updatejscolor{ var rect=document.getElementsByClassName'rect'[0]; rect.style.backgroundColor=jscolor; } 函数颜色更新{ var colorPicker=document.getElementsByClassName'color-picker'[0]; addEventListener'click',函数{updatejscolor;},false; } addEventListener'load',colorUpdate,false; .颜色选择器,.rect{ 浮动:左; 宽度:100px; 高度:100px; 右边距:40px; } .直肠{ 背景色:RGB236236; } 单击我为Rect提供红色背景
通过遵循我会使用的好趋势,通过遵循我会使用的好趋势。
document.getElementById('color-picker').addEventListener('change', function () {
    update(this.jscolor);
});