ImageElement OnClick事件

时间:2011-04-15 09:43:47

标签: dom script#

如何使用ScriptSharp将onclick事件提升到ImageElement?

我在尝试时遇到错误:

 ImageElement Button = (ImageElement)Document.CreateElement("img");
        Button.Src = "image.png";
        Button.AddEventListener("click", delegate(ElementEvent e)
        {
            Script.Alert("Clicked");
        }, false);

当我在Google Chrome浏览器中查看该页面时,它可以正常工作,但在IE8中则不行... 所以我猜ScriptSharp无法创建与IE一起使用的代码< 9?

2 个答案:

答案 0 :(得分:2)

这是您使用DOM的方式的问题。 IE7到8不支持addEventListener。您需要使用attachEvent或包含浏览器之间差异的库(例如jQuery)。

https://developer.mozilla.org/en/DOM/element.addEventListener

答案 1 :(得分:1)

github问题也涵盖了这个问题 - https://github.com/NikhilK/scriptsharp/issues/1

简而言之,我建议使用现有的包装器(如jQuery)或自己的自定义包装器来抽象不同浏览器中的事件差异和DOM事件支持,而不是从应用程序代码中有条件地调用attachEvent。

在一般脚本#中,作为编译器,不会跨浏览器对差异进行抽象 - 框架就是这样做的。这些人要么有他们自己的抽象,要么他们已经做出框架选择,并且经常就抽象如何运作发表意见。