我在jquery中遇到了几种处理click事件的方法:
绑定:
$('#mydiv').bind('click', function() {
...
});
Run Code Online (Sandbox Code Playgroud)
点击:
$('#mydiv').click(function() {
...
}
Run Code Online (Sandbox Code Playgroud)
上:
$('mydiv').on('click', function() {
...
}
Run Code Online (Sandbox Code Playgroud)
两个问题:
更新:
正如eveyone提出的那样,我应该更好地阅读文档,并发现我应该使用:
on()或click(),
这实际上是一回事.
但是,没有人解释为什么不再推荐bind?我可能会因为错过显而易见的地方而获得更多的支持,但我在文档中找不到这个原因.
UPDATE2:
'on'具有能够将事件处理程序添加到动态创建的元素的有用效果.例如
$('body').on('click',".myclass",function() {
alert("Clicked On MyClass element");
});
Run Code Online (Sandbox Code Playgroud)
此代码为具有"myClass"类的元素添加了一个单击处理程序.但是,如果稍后动态添加更多myClass元素,它们也会自动获得点击处理程序,而不必显式调用'on'.据我所知,人们说,这也更有效(见下面的西蒙斯答案).
我在android中有一个复选框,它有以下XML:
<CheckBox
android:id="@+id/item_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="itemClicked" />
Run Code Online (Sandbox Code Playgroud)
这是我的Activity类中的onClick()方法.
public void itemClicked(View v) {
//code to check if this checkbox is checked!
}
Run Code Online (Sandbox Code Playgroud)
我知道我们可以创建一个复选框的对象并为其分配id.但是,onClick通过XML 声明方法时,是否有更好的方法来实现功能?
我想onclick在锚点上更改属性的值.我想将其设置为包含JavaScript的新字符串.(该字符串由服务器提供给客户端JavaScript代码,它可以包含您可以onclick在HTML 中的属性中放置的任何内容.)以下是我尝试过的一些内容:
attr("onclick", js)不适用于Firefox和IE6/7.setAttribute("onclick", js)Firefox和IE8,但不是IE6/7.onclick = function() { return eval(js); }不起作用因为您不允许使用return传递给的代码eval().任何人都有建议将onclick属性设置为使其适用于Firefox和IE 6/7/8?另请参阅下面我用来测试它的代码.
<html>
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var js = "alert('B'); return false;";
// Set with JQuery: doesn't work
$("a").attr("onclick", js);
// Set with setAttribute(): at least works with Firefox
//document.getElementById("anchor").setAttribute("onclick", js);
});
</script>
</head>
<body>
<a href="http://www.google.com/" id="anchor" onclick="alert('A'); return false;">Click</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过单击图像开始播放嵌入式YouTube视频.我们的想法是在视频上方放置一个图像,当点击图像时,它会淡出并开始播放视频.
我正在使用jquery淡化图像,并希望找到一种方法来播放或使用jquery点击视频.
褪色工作正常,但我无法弄清楚如何触发视频播放.我通过将视频设置为自动播放并隐藏它,然后在单击图像时淡入视频,让它在几个浏览器上工作.在大多数浏览器中,视频在淡入时会自动播放,但在Chrome中,即使隐藏它也会开始自动播放.它在iOS中也不能很好地工作.
由于我对此很陌生,我甚至不确定我是否100%正确地写它,但我尝试过这样的事情没有成功:
$('#IMAGE').click(function() { $('#VIDEO').play(); });
Run Code Online (Sandbox Code Playgroud)
那么,我将如何在点击图像上播放视频?有没有办法在单击图像时播放视频,只需使用jquery?
先感谢您.
我正在使用Python 从事selenium自动化项目.
我正面临一个问题,即处理多个浏览器窗口.
情景如下.当我单击主页上的链接时,将打开一个新窗口.在新打开的窗口中,我无法执行任何操作,因为焦点仍然在主页Web驱动程序上.
谁能告诉我如何将焦点从背景窗口更改为新打开的窗口?
可能的解决方案是driver.switch_to.window(),但它需要窗口的名称.如何查找窗口的名称?如果这是一种错误的方法,那么有人可以提供一些代码示例来执行此操作吗?
如何使用javascript调用radiobutton列表上的onclick?
如何在onclick 没有 jQuery的情况下制作,没有HTML中的额外代码,例如:
<a href="#" onclick="tramtramtram">
Run Code Online (Sandbox Code Playgroud)
只是使用外部js文件?
<script type="text/javascript" src="functions.js"></script>
Run Code Online (Sandbox Code Playgroud)
我需要替换这段代码:
$("a.scroll-up, a.scroll-down").click(function(){
SNavigate($(this).attr("href").substr(7));return false;
});
Run Code Online (Sandbox Code Playgroud) 我是javascript的新手,偶然发现了return关键字.基本上,这两个陈述的区别是什么?
<input type="checkbox" onclick="doAlert()" />
Run Code Online (Sandbox Code Playgroud)
VS
<input type="checkbox" onclick="return doAlert();" />
Run Code Online (Sandbox Code Playgroud)
从本质上讲,两者都返回了相同的结果并调用了函数,但还有更多吗?任何帮助非常感谢:).谢谢!
假设:我找到一个带有按钮的页面('#bigButton'),单击该按钮会导致llama('img #theLlama')使用jQuery显示().
所以,在buttons.js中的某个地方(比如第76行):
$('#bigButton').click(function(){
$('img#theLlama').show();
})
Run Code Online (Sandbox Code Playgroud)
现在,假设我有一个包含大量.js文件的大HTML页面.我可以点击按钮看到骆驼出现,但我不知道上面的代码在哪里.
我正在寻找的解决方案与Firebug中的CSS提供的解决方案非常相似.我想检查元素,让它告诉我这个jQuery发生在buttons.js的第76行,以及这个元素上的任何其他绑定.
*注意:赏金是针对'美洲驼问题'的特定答案,即指向上述解决方案.*
FireQuery是许多jQuery任务的一个很好的工具,但它似乎没有回答骆驼问题.如果我错了,请纠正我.
我有一个EditText,我呈现为禁用,以便用户无法编辑内容,也避免弹出键盘.但现在我想在EditText中捕获onclick事件并识别被单击的单个单词.我们非常欢迎任何帮助.
谢谢,Balkrishna.