防止按钮事件被触发

时间:2017-03-16 13:39:39

标签: javascript jquery html asp.net cross-browser

我知道有Sharepoint门户,但在我看来,这个问题与javascript和交叉浏览有关,而不是与Sharepoint有关。

我在Sharepoint中有一个自定义功能区按钮,它应该启动我库中特定元素的工作流程。我想添加一个javascript / jquery检查以验证一些数据,并且只有在一切正常时,按钮事件才会启动。

<a unselectable="on" href="javascript:;" onclick="return false;" class="ms-cui-ctl-large " mscui:controltype="Button" role="button" id="AddNewButton-Large"><span unselectable="on" class="ms-cui-ctl-largeIconContainer"><span unselectable="on" class=" ms-cui-img-32by32 ms-cui-img-cont-float"><img unselectable="on" alt="Neue Testmappe erstellen" src="http://contoso:43265/sites/contoso/_layouts/Images/docset_captureversion_32.png" style="left: 0px;"></span></span><span unselectable="on" class="ms-cui-ctl-largelabel">Create Element<br>erstellen</span></a>

尝试了一切,但事件总是被解雇。还尝试了.unbind()或.off()方法和.preventDefault()。真的不知道怎么防止事件被解雇。

在尝试阻止触发事件时,我应该注意哪些特殊的跨浏览器事件?

我可以在我的&#34; a&#34;上看到开发者工具中的事件。元件。当我删除事件时,一切都有效(或没有)。但是不可能以编程方式执行此操作。

2 个答案:

答案 0 :(得分:2)

使用jQuery&#39; s preventdefault

  

如果调用此方法,则不会触发事件的默认操作。

$( "a" ).click(function( event ) {
  event.preventDefault();
  //and now do stuff like for example:
  $('body').hide();

});

答案 1 :(得分:1)

在你的onclick属性中,使用一个函数:

function(event){ event.preventDefault(); }

作为替代方案,您可以编写一些可以阻止它的JavaScript:

使用JQuery:

$("a").on("click", function(event){
    event.preventDefault();
    //any function that you need ...
});