我的代码(迷你计算器应用):( html / js)
<input class="value" type="text" id="first" />
<input class="value" type="text" id="second" />
<input class="value" type="text" id="result" />
<input class="button" type="button" value="+" id="plus" />
window.onLoad = function motor()
{
var plus = document.getElementById("plus");
function updateResult(act)
{
var first = parseFloat(document.getElementById("first").value);
var second = parseFloat(document.getElementById("second").value);
if (isNaN(first)) first = 0;
if (isNaN(second)) second = 0;
if (act == '+') {
document.getElementById("result").value = first + second;
}
}
plus.onClick = updateResult('+');
}
这不起作用:(当按下按钮“id”时我需要onClick动作
答案 0 :(得分:2)
您正在将函数调用的结果分配给onclick事件。您没有指定对该功能的引用。
此外,点击事件名称使用 lower 案例c。
plus.onclick = function(){updateResult('+');};
答案 1 :(得分:1)
您希望将plus
对象的onClick
属性设置为函数,而不是调用updateResult()
(未定义)的结果。实现此目的的一种方法是让updateResult()
返回一个函数:
window.onLoad = function motor()
{
var plus = document.getElementById("plus");
function updateResult(act)
{
return function(){
var first = parseFloat(document.getElementById("first").value);
var second = parseFloat(document.getElementById("second").value);
if (isNaN(first)) first = 0;
if (isNaN(second)) second = 0;
if (act == '+') {
document.getElementById("result").value = first + second;
}
};
}
plus.onclick = updateResult('+');
}
答案 2 :(得分:1)
//JS is case-sensitive, the correct property name is `onload` not onLoad
window.onload = function motor()
[...]
//onclick not onClick
plus.onclick = function() {
//you need to assign a function to execute on `onclick` instead of
//the return value of calling it with () which you were doing previously
updateResult('+');
};
另外,请考虑使用代码质量分析工具,例如JSHint。即使它可能无法捕获这些错误类型,因为在这些对象上创建新属性是“有效的”,它应该在将来帮助您。此外,如果您对如何使用函数或属性或其正确的拼写/语法有疑问,可以查看MDN。例如,window.onload
docs。
答案 3 :(得分:1)
不需要进行加载,只需将事件单击即可。这是代码:
OS
import org.apache.spark.sql.expressions.Window
Dataset<Row> df2 = df.groupBy(
functions.col("HOUSE_ID"),
functions.minute(col("CONDATE")).alias("minute")
).agg(
functions.min("ENERGY_READING").alias("ENERGY_READING")
).withColumn(
"LAG_ENERGY_READING",
functions.lag(functions.col("ENERGY_READING"), 1).over(Window.partitionBy("HOUSE_ID").orderBy("minute"))
).withColumn(
"consumption",
functions.expr("ENERGY_READING - LAG_ENERGY_READING")
)
答案 4 :(得分:0)
它是onclick
,而不是onClick
。
请确保案件正确无误。