我正在尝试阻止网站上的特定onClick功能。我已经编写了以下内容,但似乎并未阻止该功能。有什么想法吗?
如果我删除('xx = d&'),它会起作用,但我只希望它在存在该功能时阻止该功能。
JS
function AJFK_AjaxUpdateForm('xx=d&') (event){
event.preventDefault();
}
答案 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()();
但这可能超出您要尝试的范围,这只是需要学习的内容;)