0

ユーザーがアイテム行(linktitlenomenu列ではなく)をクリックしたときにリストアイテム(またはフォルダー)を開く方法は? デフォルトでsharepointはこのアイテムを選択します。チェックボックスのみをクリックしてアイテムを選択し、それ以外の場合はアイテムを開く必要があります。さまざまな jQuery スクリプトを目にしますが、jQuery を使用してアイテムのリンクを取得する方法しか見つかりません。

$(document).ready(function () {
    $('.ms-itmhover').each(
        function () {
            var a = $(this).find("td div[Field=LinkFilename] a")
            alert(a.attr('href'));
        }
    );

});

しかし、この URL を行の onclick ハンドラに貼り付ける方法がわかりません。

4

2 に答える 2

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));
于 2016-03-16T08:54:42.203 に答える