如何用Javascript替换鼠标移动时的所有href元素
我想将所有如何用Javascript替换鼠标移动时的所有href元素,javascript,jquery,html,sharepoint,sharepoint-2010,Javascript,Jquery,Html,Sharepoint,Sharepoint 2010,我想将所有href=“javascript:void(0)”替换为href=”http://google.com“whenmouseover使用Javascript和jQuery编辑图像caladd.gif 摘要:这意味着无论何时鼠标在图像上,它都会触发Javascript或jQuery将href更改为另一个链接 HTML: <div id="AsynchronousViewDefault_CalendarView"> <div class="ms-acal-header"&g
href=“javascript:void(0)”替换为href=”http://google.com“
whenmouseover使用Javascript和jQuery编辑图像caladd.gif
摘要:这意味着无论何时鼠标在图像上,它都会触发Javascript或jQuery将href更改为另一个链接
HTML:
<div id="AsynchronousViewDefault_CalendarView">
<div class="ms-acal-header">
<div>
<table class="ms-acal-month">
</table>
<div class="ms-acal-vlink">
<table>
<tbody>
<tr>
<td><a href="javascript:void(0)" title="Add" evtid="new_item">
<img border="0" src="/_layouts/images/caladd.gif">Add</a></td>
</tr>
</tbody>
</table>
</div>
</div>
$(document).ready(function () {
var abc = $("#AsynchronousViewDefault_CalendarView").find('a[title="Add"][evtid="new_item"]').hover(
function () {
$(this).attr('href', 'http://share/Lists/Calendar.aspx?P=P1');
}
);
});
指定方法的主要问题是,当事件处理程序绑定到mouseover
JavaScript事件时,日历视图尚未生成
建议您看看另一种方法,您可以自定义日历控件的行为和属性,而不是修改日历的DOM
如何自定义日历新项目链接
sp.ui.applicationpages.calendar.js
中定义了新项目链接的呈现模板:
<a evtid=\"new_item\" title=\"{1}\" href=\"javascript:void(0)\"/><span class=\"ms-addcolumn-span\"><img class=\"ms-addcolumn-icon\" border=\"0\" src=\"{2}\"/></span>{0}</a>
用法:
- 在日历页上添加CEWP
- 将指定的JavaScript代码插入
Content
属性
注:已在SharePoint 2013中测试
在这里很好用:它对我也很有效。您是否有可能与JS或iframe行为冲突的插件?@skzryzg,***@Anton:这在我的SharePoint中不起作用。。。
function setNewItemUrl(url)
{
//get New Item template
var newItemTemplate = SP.UI.ApplicationPages.CalendarVirtualItem.prototype.$7l_0;
//override template
SP.UI.ApplicationPages.CalendarVirtualItem.prototype.$7l_0 = newItemTemplate.replace('javascript:void(0)',url);
}
function registerAddItemLink()
{
setNewItemUrl('https://www.google.com/calendar/render');
}
ExecuteOrDelayUntilScriptLoaded(registerAddItemLink,"SP.UI.ApplicationPages.Calendar.js");