我在ASP.NET的c#代码隐藏文件中动态创建一个超链接.我需要在客户端点击时调用JavaScript函数.我该怎么做到这一点?
假设我已经<div id="main"> ... Some html ...</div>
和我需要在这个div中使用html代码,将其放在一个文件中并强制以TXT格式下载它.怎么办?我应该使用PHP还是Javascript?我宁愿javascript.
有什么区别
<a onclick="someFunction">
和
<a onclick="someFunction()">
一个使用括号而不是另一个,但使用两者的区别是什么?什么是"正确"的选择?如果我不使用任何href
属性会发生什么?
据我所知,在javascript中,using something = someFunc();
将该函数的返回值赋给something
变量.并且使用something = someFunc;
直接将函数(而不是其结果)分配给该变量(并且它主要用于将函数分配给事件).例如,我可以为onclick事件分配一个函数.
但是我不明白在一些html元素内联事件中使用时会发生什么,如示例中所示,因为赋值不是javascript变量,而是html属性,这恰好是一个事件?请解释.
而且,将内联onclick函数分配给锚(a
)以及其他元素(例如span div label
等)是否有区别?他们有同样的效果吗?
旁注:我一直在这里阅读关于如何在点击链接时运行一个函数,我已经明白是不应该"内联",而是使用不引人注目的javascript.(我提到它是为了避免对此进行辩论),但在我看到的例子中,他们没有提到我在内联时提到的两个选项的区别.
编辑:这个问题是因为在这里他们给出了一个答案,它没有在事件的函数中使用括号,没有人提到需要括号,所以我认为它是有效的.但我不知道使用()
与否有什么区别.
哪个更好,假设我们不关心没有启用JavaScript的人?
<a href="#" onclick="executeSomething(); return false"></a>
Run Code Online (Sandbox Code Playgroud)
要么
<a href="javascript:executeSomething()"></a>
Run Code Online (Sandbox Code Playgroud)
有什么区别吗?
或者除了使用JavaScript库将事件附加到锚元素之外,我还有其他任何方法吗?