pointer-events: none在IE中无效

6

我正在尝试禁用SharePoint 2013列表编辑页面中的超链接。我使用了内容编辑器Web部件并添加了 pointer-events: none。在Google Chrome上可以正常工作,但在IE上无效。有没有其他的替代方式?我只想要CSS的替代方案。我的IE版本是10。


这是一个笔误还是你真的在 CSS 中输入了 pointer-event: none?该属性应该是带有 S 结尾的 pointer-events - Bojangles
@Bojangles 在标题中拼写正确,现在问题中的打字错误已经修正。 - Asons
是的,我确实使用了pointer-events。抱歉这里拼错了。 - Revenant_01
1
可能是CSS“pointer-events”属性在IE中的替代方法的重复内容。 - Asons
1个回答

2

pointer-events 不支持IE 10,也没有其他类似的CSS属性。

为了解决这个问题,需要改变您的标记或使用脚本。

更新

这是一个使用脚本的示例。

我还给链接添加了样式,使它们不像链接一样可见,这可以单独使用,因为如果有人在文本中随意点击并意外地点到它们,那也没关系。

Array.prototype.slice.call(document.querySelectorAll("a")).forEach(function(link) {
  link.addEventListener("click", function(e) {  
    e.preventDefault();
  });
});
a {
  cursor: text;
  text-decoration: none;
  color: inherit;
}
Some text with <a href="http://stackoverflow.com"> a link </a> to click on

更新2

实际上有两篇文章介绍了几种可能的方法来解决这个问题(虽然都是脚本):

其中这个答案没有使用脚本。


基于评论的更新3

为了使用disabled='disabled'属性,你需要在服务器端添加它,使得锚点看起来像这样:<a href="link" disabled="disabled">Link</a>,或者在客户端使用像这样的脚本。

Array.prototype.slice.call(document.querySelectorAll("a")).forEach(function(link) {

  link.setAttribute('disabled', 'disabled');

});
/*
a {
  cursor: text;
  text-decoration: none;
  color: inherit;
}
*/
Some text with <a href="http://stackoverflow.com"> a link </a> to click on


@Revenant_01 我更新了我的回答,并提供了一个示例。 - Asons
@Revenant_01 进行了小更新...现在你可以接受和投票回答 :) - Asons
我尝试在我的内容编辑网页部件中使用那个脚本,但它没有起作用。 - Revenant_01
@Revenant_01 正在尝试另一种方法。如果有效,我会很快更新我的答案,否则会进行评论。 - Asons
@Revenant_01 给你添加了第三个更新,解释了那个问题。 - Asons
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接