2010-09-13 43 views
0

我試圖使用JavaScript來查找正在顯示並從SharePoint中的列表(如文檔庫)中選擇的上下文菜單項。我已經在core.js中追蹤了一些不同的函數名(例如DispEx()和CMOpt()),但我真的很難跟隨無用的變量名稱混亂。無法識別SharePoint列表中上下文菜單的文檔對象

我的理解是,上下文菜單必須存在於DOM的某個地方 - 我只是無法找到如何檢索/引用它。

在此先感謝 - 這讓我瘋狂!

編輯:我試過遍歷所有的孩子從onclick =「return DispEx(...)」,我什麼也沒有得到!這是我用來捕獲這些信息:
'

function findStuff(){ 
var something; 
$('[onclick*=DispEx]').children().each(function(){ 
    something = something + this.tagName + '\n'; 
}); 
alert(something); 

}

+0

哪個版本的sharepoint? – 2010-09-13 18:52:24

+0

現在我正在2010年進行測試,但是我的目標是推廣解決方案(最終) 2007. – patrickgamer 2010-09-13 19:03:44

回答

0

最後我用一個元素追蹤插件三種不同之間的跟蹤共性安裝SharePoint以獲得一個粗略的一般情況。然而,我無法避免需要爲安裝量身定製一些配置:(

0

它看起來像那些以DOM元素可能由JavaScript生成。看看this article

此外,您可能能夠通過僅僅使用contains選擇搜索DOM文本找到元素的ID:

$(":contains('context menu item text')").attr('id') 
+0

這篇文章確實有助於確認菜單是在JavaScript中創建的,但它引用了我的SharePoint環境中不存在的文件(ows.js):( - 另外,我確實搜索了屬性返回ID,名稱和類,其中沒有一個在匹配條件中設置爲使用: $(':contains(「View Properties」)')。each(function(){something = something +'ID:'+ $(this).attr('id')+'\ nName:'+ $(this).attr('name')+'\ nClass:'+ $(this).attr('class'); – patrickgamer 2010-09-13 19:20:55

+0

@帕特里克那麼,我沒有設置SP環境但是你能看到CAMOpt()的實現嗎?如果是這樣,我會在那裏添加一些代碼來設置一個'標記'供你稍後參考(如元素的類屬性或類似的東西)。然後,只需將使用jquery的事件處理程序綁定到與您設置的「標記」匹配的任何內容即可。 – 2010-09-13 19:53:50

+0

我無法爲我的測試環境定製解決方案。我沒有選擇改變其他文件 - 這就是爲什麼我試圖找到對象時,它的呈現。 – patrickgamer 2010-09-13 20:51:14

相關問題