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

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


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

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


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

问题:这到底是怎么回事,以后解析跨浏览器的空间时,我什么时候会被这困扰?

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

最佳答案

我不确定发生了什么(我对其进行了测试并看到了一些奇怪的行为),但是您可以通过执行以下操作来解决此问题

function displayAddy() {

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

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

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


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

这是正在执行的example

10-07 20:48