Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery onclick执行某些操作。。。点击警报后_Javascript_Jquery - Fatal编程技术网

Javascript JQuery onclick执行某些操作。。。点击警报后

Javascript JQuery onclick执行某些操作。。。点击警报后,javascript,jquery,Javascript,Jquery,我正在使用以下代码: onclick=“$('#默认值”)。单击()”。。。如果某个操作成功,有没有办法返回警报 更新: 这里似乎有一个问题: onclick="$('#default').click( function() { alert('clicked'); });" 这种语法有点不正确。通常您会像这样使用jQuery的click(): HTML: 更新: 即使是更新后的代码似乎也能正常工作,但这是非常糟糕的代码——javascript或DOM结构中的其他地方可能存在一些错误。看 最好将

我正在使用以下代码:

onclick=“$('#默认值”)。单击()”
。。。如果某个操作成功,有没有办法返回警报

更新:

这里似乎有一个问题:

onclick="$('#default').click( function() { alert('clicked'); });"

这种语法有点不正确。通常您会像这样使用jQuery的
click()

HTML:

更新:

即使是更新后的代码似乎也能正常工作,但这是非常糟糕的代码——javascript或DOM结构中的其他地方可能存在一些错误。看

最好将jquery与onclick分开,比如:

试试:

onclick="$('#default').click(function() { alert('foobar'); });"
就这样

$('#default').click( function() {
  alert('Handler for .click() called.');
} );

假设您的示例是:

<input type="button" id="myButton" onClick="$('#default').click()" />

你想要的是:

<input type="button" id="myButton" />

<script type="text/javascript">

$(document).ready(function(){
  // this code will run when the document has loaded
  // and all elements are in place

  $("#myButton").click(function(){
    // this code will be run when the user clicks on
    // the button we created above

    $('#default').click(); // this calls the click event on #default

    alert('Finished'); // now it is finished
  }); // close the click handler on #myButton

  $('#default').click(function(){
    // this code will be run when the user click on
    // the element with id "default" OR (in this case)
    // when the click event is triggered from clicking the
    // button above.

    alert('#default was clicked');
  }); // close the click handler on #default

}); // close the document.ready code block.

</script>

$(文档).ready(函数(){
//此代码将在加载文档后运行
//所有元素都已就位
$(“#我的按钮”)。单击(函数(){
//此代码将在用户单击时运行
//我们在上面创建的按钮
$('#default')。click();//这将调用#default上的click事件
警报('Finished');//现在它已完成
});//关闭#myButton上的单击处理程序
$('#默认值')。单击(函数(){
//此代码将在用户单击时运行
//id为“default”或(在本例中)的元素
//当点击按钮触发点击事件时
//上面的按钮。
警报(“#已单击默认值”);
});//关闭#默认值上的单击处理程序
}); // 关闭document.ready代码块。

您可以使用。单击(函数{alert('worked');})。一个JSFIDLE示例和一点深入的解释就可以了,不知道为什么要使用这样的代码。使用jQuery,您不再需要在元素中使用
onClick
方法。如果您使用的是jQuery,那么您可以通过javascript使用事件绑定器和处理程序来完成所有操作。@Thomas我想您指的是DOM元素的类型?不过,jQuery并没有什么神奇之处。它只是围绕着普通的老字眼。@PPVG是的,很抱歉我的语法不好。我知道jQuery没有什么“神奇”之处,但是如果您打算使用它,那么在元素中仍然使用
onClick
,就没有什么意义了。在OP中嵌入代码很难阅读,也很难维护,加上jQuery在维护功能方面做得很好,比如js与html分离,与css分离等等,除非
#default
是他想在单击原始元素时触发单击的另一个元素,即使仍然如此,没有理由不使用纯jquery,也没有理由不将javscript放在元素的
onClick
属性中。@Thomas:你想说什么?你的说法模棱两可。如果使用jQuery是
A
,而使用纯JS是
B
,你是说
,-A∧ 
还是说
∧ -B
?后者可能更有意义,但我还是不明白你的意思。哈哈,非常困惑@PPvG@kontur似乎在说我在其他评论和回答中所说的,他将把元素从jQuery中分离出来,并在jQuery中使用一个事件处理程序来捕获onClick事件。Nav在评论中似乎对此提出了质疑。我只是指出,即使OP想要在另一个元素上触发一个单击事件,那么这仍然可以通过使用jquery来实现,与
onclick
属性分离。@Thomas,@nav所指的是通过调用
.click()来触发另一个元素上的
click
事件
没有任何参数。这是一个有效的评论,但自从OP更新了他们的问题后,就不再相关了。我想在onclick中内联这样做,这样就少了涉及的代码。我理解。然而,这样做是不好的做法。最好将javascript和HTML代码分开。这样维护起来就容易多了,调试起来就不那么困难了,诸如此类。就我个人而言,我认为最好多使用一点代码,这样您就有了易于维护和构建的东西。看见
<input type="button" id="myButton" onClick="$('#default').click()" />
<input type="button" id="myButton" />

<script type="text/javascript">

$(document).ready(function(){
  // this code will run when the document has loaded
  // and all elements are in place

  $("#myButton").click(function(){
    // this code will be run when the user clicks on
    // the button we created above

    $('#default').click(); // this calls the click event on #default

    alert('Finished'); // now it is finished
  }); // close the click handler on #myButton

  $('#default').click(function(){
    // this code will be run when the user click on
    // the element with id "default" OR (in this case)
    // when the click event is triggered from clicking the
    // button above.

    alert('#default was clicked');
  }); // close the click handler on #default

}); // close the document.ready code block.

</script>