gpt4 book ai didi

javascript - SharePoint Web 部件上的 jQuery.hover 不起作用

转载 作者:行者123 更新时间:2023-11-28 01:54:54 27 4
gpt4 key购买 nike

我正在开发一个从 SharePoint 列表驱动的导航栏。一切都按预期工作,除了我的 .hover事件。

编辑:我将代码行更改为:

$('table').hover(function () { alert(this.id); });

我注意到,每当我将鼠标悬停在标题标签上时,警报消息都是空白的。这让我相信它甚至没有返回 ID。然而,父元素( <table> )的 ID 返回......我必须做一些愚蠢的事情。

当我有了这个,它就起作用了:

$(document).hover(function () { alert(); });

但是,当我有这个时,什么也没有发生:

$("#Header0").hover(function () { alert(); });

您知道为什么这在 SharePoint 中不起作用,但如果我只执行常规 Web 应用程序却可以吗?

这是我的所有代码:

    ///////////////////////////////////////////////////////////////////////////////////////////    //////////////////////////////////////////
////////////////////////////////////////EVERYTHING BELOW THIS LINE IS GOOD TO GO/////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////
//Print Headers to Screen. This will drive the core functionalty of the navpart
var siteUrl = '/sites/dev';
ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
theCounter = 0;
var Headers = new Array();
var getCurrentElementId = null;
function retrieveListItems() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('myList');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("<Where><IsNotNull><FieldRef Name='Title' /></IsNotNull></Where>");
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
theCounter += 1;
Headers[theCounter - 1] = oListItem.get_item('Title');
}
var HeaderDisplay = _.uniq(Headers);
for (var i = 0; i <= HeaderDisplay.length - 1; i++) {
$('#TableElement').append("<th id=Header" + i + ">" + HeaderDisplay[i] + "::::::" + "</th>");
}
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

/////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////
////////////////////////////////////////EVERYTHING ABOVE THIS LINE IS GOOD TO GO/////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////


// You got the headers to print as expected. Right now you need to figure out how to get the current ID
// that the mouse is over. Try looking at another project you did where the mouse goes into the table header
// and the outline expands.


$("#Header0").hover(function () { alert(); });



//This should be the universal onmouseover event that will expose only links
//and values relavent to the selected header.

//$(document).ready(function onPageLoad() {
// $().SPServices({
// operation: "GetListItems",
// async: false,
// listName: "myList",
// CAMLQuery: "<Query><Where><IsNotNull><FieldRef Name='Title' /></IsNotNull></Where></Query>",
// completefunc: function completeFunction(xData, Status) {
// $(xData.responseXML).SPFilterNode("z:row").each(function () {
// var Headers = "<th>" + $(this).attr("ows_Title") + "</th>";
// $("#TableElement").append(Headers);
// });
// }
// });
//});

最佳答案

尝试做这样的事情......

$('#TableElement').hover(function () {
$('#Header0').hover(function () {
$('#Header2').append("<li>" + this.id + "</li>");
});
});

我怀疑这不起作用,因为 jQuery 无法“找到”ID。一旦进入父级,它就应该把它捡起来。

关于javascript - SharePoint Web 部件上的 jQuery.hover 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com