Jquery click eventObject在Firefox中不起作用

时间:2013-07-24 14:48:58

标签: jquery internet-explorer firefox onclick cross-browser

我正在尝试从单击的元素中获取文本。 javascript / jquery 适用于 IE chrome ,但在 Firefox 中不起作用。

HTML

<span class="spanclass">Click Me</span>
<br/>
<span id="displayDel"></span>

的Javascript

$(document).ready(function () {
    $('.spanclass').click( function(cl) {
        onSelect(cl.delegateTarget);
    });
});

function onSelect(cldel)
{
    $('#displayDel').text("You "+cldel.innerText);
}

这是JSFiddle http://jsfiddle.net/FdXNg/

中的一个运行示例

IE Chrome 中,当您点击“Click Me”时,它会显示“You Click Me”。

Firefox 中,当您点击“Click Me”时,它会显示You undefined

如何在 IE,Chrome FireFox 中完成此工作?

2 个答案:

答案 0 :(得分:1)

为什么使用外部功能?这将做同样的事情(使用jQuery的.text()函数):

$(document).ready(function () {
    $('.spanclass').click( function() {
       $('#displayDel').text("You "+$(this).text());
    });
});

演示:http://jsfiddle.net/FdXNg/1/

如果要在单击后隐藏元素,请在代码的第3个规则之后添加:

       $(this).hide(); //or `remove()`

编辑(评论后)

$(document).ready(function () {
    $('.spanclass').click(function() {
        onSelect($(this));
    });
});

function onSelect(cldel) {
    $('#displayDel').text("You "+cldel.text());
}

答案 1 :(得分:1)

尝试$('#displayDel').text("You "+$(cldel).html());这更像是jquery方式。 ;)