Javascript 。单击无法在jQuery中工作的方法
我放置了“微笑”按钮,用于弹出新窗口并显示微笑Javascript 。单击无法在jQuery中工作的方法,javascript,jquery,html,Javascript,Jquery,Html,我放置了“微笑”按钮,用于弹出新窗口并显示微笑 <textarea class="chattextarea" placeholder="Type message" name="message" id="message" ></textarea> <div class="smileybutton" id="smileybutton"></div> 但是警报不起作用。。如果我将另一个警报放在括号外,它将用于页面加载。尝试将jQuery代码放在文档内
<textarea class="chattextarea" placeholder="Type message" name="message" id="message" ></textarea>
<div class="smileybutton" id="smileybutton"></div>
但是警报不起作用。。如果我将另一个
警报
放在括号外,它将用于页面加载。尝试将jQuery
代码放在文档内。就绪
,如下所示:
$(document).ready(
function() {
jQuery('#smileybutton').click(function() {
alert("Clickeddddd");
});
}
);
或
以防你不想用美元符号
另外,请确保按照Axel和Sharky的建议包含jQuery
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
编辑(特别感谢阿克塞尔和沙基指出这一点)
经过短暂的研究后,将脚本包含在网页的正文
部分会更好
这里是JFiddle:。将函数代码如下所示
$(document).ready(function(){
jQuery('.smileybutton').click(function() {
alert("Clickeddddd");
});
});
不要忘记包含jQuery库:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
在这里拉小提琴:
重要提示:以某种方式为您的
#smileybutton
提供维度,以便您可以单击一些内容。我在JSFIDLE上添加了一些关于我的示例的文本-我假设您已经应用了一些css(可能是宽度/高度和笑脸的背景图像?您需要添加document.ready,如其他人所说。如果您添加为外部javascript文件,则需要换行
$(function(){});
现在,若你们不设置div的宽度和高度,它将是零,无论你们在哪里点击,它都不会与DOM连接。因此,您可能需要如下设置div width和height
#smileybutton{
width:100px;
height:100px;
}
您可以在版本中查看。如果您通过以下方式更改Javascript,它将起作用:
$(function(){
$('#smileybutton').click(function() {
alert("Clickeddddd");
});
});
请尝试此代码,这是跟踪单击事件的另一种方法
jQuery('.smileybutton').live('click',function(){
alert("Clickeddddd");
});
确实要在DOM呈现完成后加载脚本吗?如图所示的代码应该可以正常工作。能否向“smileybutton”div添加一些文本,以便您可以单击一些内容并查看它是否工作?工作良好只有在DOM中的smileybutton之后找到javascript,或者在DOM中任何位置的$(document).ready()函数中写入javascript时,显示的代码才会工作。如果该元素当时不存在,jQuery将尝试连接,它将无法工作。只要jQuery也正确链接;-)你的意思是
$(function(){})代码>非函数(){}()代码>请不要通过添加换行符来编辑我的答案。我不想因为某人不知道如何使用水平滚动条而破坏我的编码风格。谢谢。你为什么建议“在头部内执行”@Axel:在头部
标记内包含JavaScript和CSS是一种好的做法。@Luka在加载所有js之前,减缓页面呈现速度是一种不好的做法。我同意@Sharky。但是现在它已经离题了:)仍然离题了,但是:这段代码对我有效。>>!!!!所有其他的我都试过了……但没有反应。。I dnt knw y…..您可能正在使用一个相当旧的jQuery版本,以便仍然能够使用.live()
@vishnuprasa,如果这可以工作,而您的原始版本不起作用,那么您可能有多个id=“smileybutton”
元素,这会混淆jQuery(请记住id
必须是唯一的)@Sharky我也尝试过这种情况,添加了用户id wid d class..但是dat并没有像我希望的那样进行任何输出。我正在搜索。。是的,这是有原因的。下次有什么帮助吗
#smileybutton{
width:100px;
height:100px;
}
$(function(){
$('#smileybutton').click(function() {
alert("Clickeddddd");
});
});
jQuery('.smileybutton').live('click',function(){
alert("Clickeddddd");
});