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>