javascript - 阻止 onClick 函数

标签 javascript jquery

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

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

JS

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

最佳答案

你的问题是你的构造函数..

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()();

但这可能超出了您想要做的范围,而且这只是需要学习的东西;)

关于javascript - 阻止 onClick 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51785045/

相关文章:

javascript - 如何设置输入值 ="color"

javascript - jQuery 替换 Node+jade 组合中的 Span

javascript - 如何获取单击元素的 ID 并将其存储在变量中并在进行 AJAX 调用的函数中使用它

javascript - JQuery 禁用按钮

javascript - 如何执行按钮提交弹出一个窗口,其中包含指向其他站点的图像?

javascript - 如何在动态创建具有某些类的元素时引发 jquery 事件

javascript - JavaScript 中的 [] + [] 是什么

javascript - 动态写入js文件

javascript - 如果 Ramda ifElse 抽象了一个三元运算,那么它是一个有效的模式吗

jquery - 在asp.net-mvc中全局捕获Ajax错误的最佳方法是什么?