2

我从使用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 页面上运行此脚本)

4

1 回答 1

1

我不确定发生了什么(我对其进行了测试并看到了一些奇怪的行为),但你可以通过做这样的事情来解决它

function displayAddy() {

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

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

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

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

这是它的一个例子

于 2012-01-17T20:28:55.197 回答