首页 \ 问答 \ 如何使用Javascript动态地将事件处理程序附加到文档元素?(How to attach event handlers to document elements on the fly using Javascript?)

如何使用Javascript动态地将事件处理程序附加到文档元素?(How to attach event handlers to document elements on the fly using Javascript?)

有没有办法附加像onclick = alert(“Hi”)这样的事件处理程序; 到现有的文档元素? (在我的情况下的图像)

我已经尝试过以下方面的失败

img = document.getElementById("my_image");

img.onclick = "alert('hi')";

img.setAttribute ('onclick',"alert('hi')");

img.onclick = function() {"alert('hi')";};

img.onclick = function(evt) {"alert('hi')";};

img.setAttribute ('onclick',function() {"alert('hi')";});

function handler(evt) {"alert('hi')";}
img.onclick = handler;

我的想法已经不多了。 有人知道怎么做这个吗?


Is there a way to attach an event handler like onclick=alert("Hi"); to an existing document element? (an image in my case)

I have already tried and failed with the following:

img = document.getElementById("my_image");

img.onclick = "alert('hi')";

img.setAttribute ('onclick',"alert('hi')");

img.onclick = function() {"alert('hi')";};

img.onclick = function(evt) {"alert('hi')";};

img.setAttribute ('onclick',function() {"alert('hi')";});

function handler(evt) {"alert('hi')";}
img.onclick = handler;

I am running out of ideas. Does anybody know how to do this?


原文:https://stackoverflow.com/questions/1411545
更新时间:2023-08-27 10:08

最满意答案

我认为格式编号会起到诀窍的作用。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes" />

    <xsl:variable name="date" select="'2007-3-19'" />
    <xsl:template name="format_date" >
        <xsl:param name ="date" />
        <xsl:variable name ="year" select="substring-before($date, '-')" />
        <xsl:variable name ="month_and_day" select="substring-after($date, '-')" />
        <xsl:variable name ="day" select="substring-after($month_and_day, '-')" />
        <xsl:variable name ="month" select="substring-before($month_and_day, '-')" />
        <xsl:value-of select="$year"/>
        <xsl:value-of select="format-number($month, '00')"/>
        <xsl:value-of select="format-number($day, '00')"/>
    </xsl:template>

    <xsl:template match="/" >
        <xsl:call-template name="format_date" >
            <xsl:with-param name ="date" select="$date"/>
        </xsl:call-template>
    </xsl:template>
</xsl:stylesheet>

I think format-number will do the trick.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes" />

    <xsl:variable name="date" select="'2007-3-19'" />
    <xsl:template name="format_date" >
        <xsl:param name ="date" />
        <xsl:variable name ="year" select="substring-before($date, '-')" />
        <xsl:variable name ="month_and_day" select="substring-after($date, '-')" />
        <xsl:variable name ="day" select="substring-after($month_and_day, '-')" />
        <xsl:variable name ="month" select="substring-before($month_and_day, '-')" />
        <xsl:value-of select="$year"/>
        <xsl:value-of select="format-number($month, '00')"/>
        <xsl:value-of select="format-number($day, '00')"/>
    </xsl:template>

    <xsl:template match="/" >
        <xsl:call-template name="format_date" >
            <xsl:with-param name ="date" select="$date"/>
        </xsl:call-template>
    </xsl:template>
</xsl:stylesheet>

相关问答

更多

相关文章

更多

最新问答

更多
  • sp_updatestats是否导致SQL Server 2005中无法访问表?(Does sp_updatestats cause tables to be inaccessible in SQL Server 2005?)
  • 如何创建一个可以与持续运行的服务交互的CLI,类似于MySQL的shell?(How to create a CLI that can interact with a continuously running service, similar to MySQL's shell?)
  • AESGCM解密失败的MAC(AESGCM decryption failing with MAC)
  • Zurb Foundation 4 - 嵌套网格对齐问题(Zurb Foundation 4 - Nested grid alignment issues)
  • 湖北京山哪里有修平板计算机的
  • SimplePie问题(SimplePie Problem)
  • 在不同的任务中,我们可以同时使用多少“上下文”?(How many 'context' we can use at a time simultaneously in different tasks?)
  • HTML / Javascript:从子目录启用文件夹访问(HTML/Javascript: Enabling folder access from a subdirectory)
  • 为什么我会收到链接错误?(Why do I get a linker error?)
  • 如何正确定义析构函数(How to properly define destructor)
  • 垂直切换菜单打开第3级父级。(Vertical toggle menu 3rd level parent stay opened. jQuery)
  • 类型不匹配 - JavaScript(Type mismatch - JavaScript)
  • 为什么当我将模型传递给我的.Net MVC 4控制器操作时,它坚持在部分更新中使用它?(Why is it that when I pass a Model to my .Net MVC 4 Controller Action it insists on using it in the Partial Update?)
  • 在使用熊猫和statsmodels时拉取变量名称(Pulling variable names when using pandas and statsmodels)
  • 如何开启mysql计划事件
  • 检查数组的总和是否大于最大数,反之亦然javascript(checking if sum of array is greater than max number and vice versa javascript)
  • 使用OpenGL ES绘制轮廓(Drawing Outline with OpenGL ES)
  • java日历格式(java Calendar format)
  • Python PANDAS:将pandas / numpy转换为dask数据框/数组(Python PANDAS: Converting from pandas/numpy to dask dataframe/array)
  • 如何搜索附加在elasticsearch索引中的文档的内容(How to search a content of a document attached in elasticsearch index)
  • LinQ to Entities:做相反的查询(LinQ to Entities: Doing the opposite query)
  • 从ExtJs 4.1商店中删除记录时会触发哪些事件(Which events get fired when a record is removed from ExtJs 4.1 store)
  • 运行javascript后如何截取网页截图[关闭](How to take screenshot of a webpage after running javascript [closed])
  • 如何使用GlassFish打印完整的堆栈跟踪?(How can I print the full stack trace with GlassFish?)
  • 如何获取某个exe应用程序的出站HTTP请求?(how to get the outbound HTTP request of a certain exe application?)
  • 嗨,Android重叠背景片段和膨胀异常(Hi, Android overlapping background fragment and inflate exception)
  • Assimp详细说明typedef(Assimp elaborated type refers to typedef)
  • 初始化继承类中不同对象的列表(initialize list of different objects in inherited class)
  • 使用jquery ajax在gridview行中保存星级评分(Save star rating in a gridview row using jquery ajax)
  • Geoxml3 groundOverlay zIndex(Geoxml3 groundOverlay zIndex)