事件监听器形成标签

时间:2014-10-23 04:30:57

标签: javascript label event-listener

所以我试图让这个函数使用事件监听器来表单的标签。它应该将元素的id值作为其参数,然后为每个标签赋予id +'Label'的id值。当我打电话时,它目前没有做任何事情。 U和this。$ U是缩短代码的其他代码。

    addTooltipHandlers: function(id) {
    'use strict';

    // Get the form element reference:
    var newId = this.$(label.id);

    newId.onmouseover = showTooltip;
    newId.onmouseout = hideTooltip;
    newId.onfocus = showTooltip;
    newId.onblur = hideTooltip;

}, // End of addTooltipHandler() function.

我使用。

在另一个js文件中调用它
U.addTooltipHandler('someLabel');

Html代码我试图在

上使用它
<div class="two"><label for="phone">Phone Number<span class="tooltip">In the format XXX XXX XXXX or XXX-XXX-XXXX or XXXXXXXXXX.</span></label><input type="text" name="phone" id="phone" required></div>

1 个答案:

答案 0 :(得分:0)

试试这个:

addTooltipHandlers: function(id) {
    'use strict';

    // Define the new ID value:
    var newId = this.$(id + 'label');

    newId.onmouseover = showTooltip;
    newId.onmouseout = hideTooltip;
    newId.onfocus = showTooltip;
    newId.onblur = hideTooltip;

},

没有必要从id获取元素,你没有对该元素做任何事情。您只想将给定的ID与label连接起来,并使用它来查找要将处理程序附加到的新元素。

第二个onmouseover应为onmouseout

为此,您需要为标签提供ID:

<label for="phone" id="phonelabel">

然后你可以打电话:

U.addToolTipHandlers('phone');