ScriptSharp:未捕获类型错误:对象#<HTML输入元素>没有方法'应用'
ScriptSharp : Uncaught TypeError: Object #<HTMLInputElement> has no method 'apply'
我是Script#的新手,我编写了以下示例代码来学习使用Script#的事件处理:
public class Class1
{
private bool ispressed;
private int startX;
private int startY;
private int endX;
private int endY;
private CanvasElement canvas;
private CanvasContext2D context;
private Element createNumberLine;
public Class1()
{
ispressed = false;
canvas = (CanvasElement)Document.CreateElement("canvas");
canvas.ID = "canvas";
canvas.SetAttribute("width", "500");
canvas.SetAttribute("height", "500");
canvas.Style.Border = "2px Solid #000000";
Document.Body.AppendChild(canvas);
context = (CanvasContext2D)canvas.GetContext("2d");
canvas.AddEventListener("click", CreateNumberLine, false);
createNumberLine = (Element)Document.CreateElement("input");
createNumberLine.SetAttribute("type", "button");
createNumberLine.SetAttribute("width", 100);
createNumberLine.SetAttribute("height", 50);
createNumberLine.SetAttribute("value", "Create Number Line");
createNumberLine.AddEventListener("click", CreateNumberLine, false);
Document.Body.AppendChild(createNumberLine);
}
...
...
private void CreateNumberLine(ElementEvent e)
{
Script.Alert("asd");
//context.Restore();
startX = 100;
endX = 700;
startY = 200;
endY = 200;
context.MoveTo(startX, startY);
context.LineTo(endX, endY);
context.StrokeStyle = "#00ff00";
context.Stroke();
}
}
这是我的HTML:
<head>
<title></title>
<script src="Scripts/debug/mscorlib.debug.js" type="text/javascript"></script>
<script src="Scripts/debug/ScriptLibrary1.debug.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
var script;
window.onload = function () {
script = new ScriptLibrary1.Class1();
}
</script>
</body>
但是,当我在浏览器中运行此代码并单击按钮时,我会得到一个Uncaught TypeError:Object#没有方法"apply"异常。我没有使用任何第三方javascript库。我无法弄清楚这个代码出了什么问题。我们将不胜感激。谢谢
我得到了这个问题的答案。
此行:
createNumberLine.AddEventListener("click", CreateNumberLine, false);
应替换为:
if (Script.isNotNullofUnDefined)
{
createNumberLine.AddEventListener("click", CreateNumberLine, false);
}
或
createNumberLine.AddEventListener("click", delegate(ElementEvent e)
{
CreateNumberLine;
}, false);
相关文章:
- 如何编写HTML输入的JS内联
- 如何在HTML输入字段中添加不可删除的后缀
- HTML输入中不可更改的前导字符
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 清理HTML输入值
- 如何使用jQuery动态创建HTML输入
- 通过javascript以编程方式将文件插入HTML输入
- jQuery选择器不识别任何动态创建的HTML输入函数
- 将JavaScript变量传递到HTML输入框和(在PHP文件中使用)
- 如何调用两个函数是一种html输入类型
- HTML输入框未触发事件
- 移动HTML输入文本框在提交时隐藏软键盘
- 按键事件上的简单HTML输入不起作用
- 选择同一文件时未触发HTML输入文件选择事件
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 更改 html 输入字段中的占位符属性
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 持久性 HTML 输入占位符
- 将 html 输入转换为正确的编码
- 如何隐藏和显示 html 输入文本和段落