【发布时间】:2011-08-02 14:56:59
【问题描述】:
我正在使用 asp.net 将客户端 onclick 事件添加到 ListView 中的 span 标签:
<span id="mySpan" onclick="<%# Request.Cookies["myCookie"] != null ? "MyFunction1(" + Eval("MyVal1") + ");" : "MyFunction2(" + Eval("MyVal2") + ");" %>"
我所做的每一个方面总是在 Chrome 和 FF 中 100% 完美运行。在 IE(v8 和 v9)中,它总是添加正确的 javascript 函数,并且所有代码看起来都很完美——在 IE 中呈现的 span 代码看起来与它在 Chrome 和 FF 中的外观相同。但是,当使用 Fiddler 监控流量时,几个随机的 IE 跨度根本不会触发 javascript 函数。有些人会。可以工作的代码和不工作的代码之间没有区别。在 IE 中不起作用的那些在 Chrome 和 FF 中可以正常工作。我还能够确认没有使用 Fiddler 以外的方式触发 javascript 函数,因此 Fiddler 没有给我错误的读数。
我在我的 asp 代码中是否正在做一些事情来添加可能在 IE 中搞砸的功能?
【问题讨论】:
-
听起来问题出在客户端。你能提供一个生成的 HTML 标签的例子吗?或者更好的是,一个能反映您所描述行为的工作 jsfiddle?
-
这里是一个不工作的渲染代码示例:Text(我尝试添加尾随 ; 和返回函数,两者都没有工作,正如我所料)。有效的代码看起来完全一样。 Fiddler 响应在工作时看起来应该是正常的,但是当它不起作用时,Fiddler 中根本没有注册任何操作。该事件根本不会被触发。
-
如果把
onclick改成alert('hi');,会不会有同样的行为? -
alert('hi');工作正常。这一定是动态生成的问题......只是不确定是什么。或者为什么它如此随机。
标签: javascript asp.net onclick