当用户点击项目行(而不是linktitlenomenu列)时,如何打开列表项(或文件夹)? 默认情况下,sharepoint选择此项,我需要通过单击复选框选择项目,否则打开项目。 我看到许多不同的jQuery脚本,但我只发现如何使用jQuery获取项目链接:
$(document).ready(function () {
$('.ms-itmhover').each(
function () {
var a = $(this).find("td div[Field=LinkFilename] a")
alert(a.attr('href'));
}
);
});
但我不知道如何在行onclick处理程序中粘贴此URL。
答案 0 :(得分:0)
请检查以下代码,它可能对您有帮助。
$(document).ready(function () {
$(".ms-itmhover").each(function () {
$(this).attr("href", $(this).find('td div[field="LinkFilename"] a').attr("href"));
});
});
答案 1 :(得分:0)
我建议反对它,但如果你真的想这样做我建议使用dblclick
而不是模糊默认的单击行为。
所以在你的$(document).ready
或JSLink中:
(function () {
"use strict";
var rows = window.document.getElementsByClassName('ms-itmhover'),
len = rows.length,
i,
setLinkOnRow = function (row) {
var link = row.querySelector('td div[field^=Link] a'),
href = link.getAttribute('href');
row.ondblclick=function () {
window.location.href = href;
};
};
for(i = 0; i < len; i += 1) {
setLinkOnRow(rows[i]);
}
}());
或者,如果您有jQuery供您使用:
(function ($) {
"use strict";
$('.ms-itmhover').each(function () {
var $this = $(this),
href = $this.find('td div[field^=Link] a').attr('href');
$this.dblclick(function () {
window.location.href = href;
});
});
}(jQuery));