阻止onClick功能

时间:2018-08-10 11:00:33

标签: javascript jquery

我正在尝试阻止网站上的特定onClick功能。我已经编写了以下内容,但似乎并未阻止该功能。有什么想法吗?

如果我删除('xx = d&'),它会起作用,但我只希望它在存在该功能时阻止该功能。

JS

function AJFK_AjaxUpdateForm('xx=d&') (event){
    event.preventDefault();
}

1 个答案:

答案 0 :(得分:1)

您的问题是您的构造函数。

function AJFK_AjaxUpdateForm('xx=d&') (event){

您在其中有一个硬字符串,应该在其中使用参数名称..并且您有两个..括号在您的情况下是无效的...除非函数返回函数声明,否则我认为您是例子没有。

您的构造函数应如下所示:

function AJFK_AjaxUpdateForm(event){

如果打开开发者工具>控制台,您将开始看到注释部分指出的JavaScript错误。


根据您在评论中的问题;您将进行简单的字符串比较:

var block = 'xx=d&';

function AJFK_AjaxUpdateForm(event){
    if(block == 'xx=d&'){
        event.preventDefault();
    }
}

如果要将“ block”变量作为构造函数的一部分传递,则需要添加另一个变量:

function AJFK_AjaxUpdateForm(event, block){

如果您使用内联处理程序执行该函数;您必须更新它,而不是对字符串进行硬编码:

<a href="/Home" onclick="AJFK_AjaxUpdateForm(event, 'xx=d&')">Test the Method</a>


如果您想知道的话,请返回双括号。如果您的函数返回函数声明,那么实际上是一种有效的语法,正如我上面提到的那样。

在此示例中,使用双括号是完全有效的。

var f = function(){
  return function(){
     console.log("123");
  }
}

f()();

但这可能超出您要尝试的范围,这只是需要学习的内容;)