2012-08-13 65 views
0

如何在用戶點擊項目行時打開列表項(或文件夾)(不在linktitlenomenu欄中)? 默認情況下,共享點選擇此項目,我需要通過單擊複選框選擇項目,否則打開項目。 我看到很多不同的jQuery的腳本,但我只找到如何獲得項目的鏈接使用jQuery:如何通過單擊項目行(而不是選擇項目)打開列表項目?

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

}); 

但我dont't知道如何複製粘貼此URL行onclick處理程序。

回答

0

請檢查下面的代碼,它可能會幫助你。

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

}); 
+0

這增加了'HREF = 「...」'到'TR ' - 元素反過來什麼都不做,真的.. – Nils 2016-03-16 08:50:28

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)); 
相關問題