来自JavaScript的意外行为分割功能(Chrome / Firefox)

时间:2012-01-17 19:53:07

标签: javascript jquery split-function

我从使用on函数捕获的jQuery click事件中添加一个字符串(即'Bob Smith')。 。

$(".vendorLookup").on("click", { fullName: $(this).text() }, displayAddy);

在click事件的displayAddy处理程序中,我提取字符串(人名和姓)并拆分名字和姓氏。 。

var name = event.data.fullName;
var parts = name.split(" ");

IE可以解决这个问题,但Chrome和Firefox不会拆分,除非我使用正则表达式split(/\s/)(除非我使用w3schools.com Tryit代码编辑器然后它可以工作)。

问题:这里到底发生了什么,以及何时在跨浏览器解析空间时我会得到什么?

(注意:我认为这不重要,但我在SharePoint 2010的Wiki页面上运行此脚本)

1 个答案:

答案 0 :(得分:1)

我不确定最新情况(我测试了它并看到了一些奇怪的行为),但你可以通过做这样的事情来解决它

function displayAddy() {

    var parts = $(this).text().split(" ");

    $('#fname').html(parts[0]);
    $('#lname').html(parts[1]);
}

$('#name').on("click", displayAddy);

由于事件被传递给回调,因此回调已经有一个this对象。在这种情况下,this对象将成为具有类#name的DOM对象。

以下是example的实际操作。