Javascript 为什么赢了';我的链接是否触发jQuery.click事件?
所以,我今天涉猎了一些jQuery,遇到了一个问题。我有一个页面,其中包含以下格式的多个链接:Javascript 为什么赢了';我的链接是否触发jQuery.click事件?,javascript,jquery,ajax,Javascript,Jquery,Ajax,所以,我今天涉猎了一些jQuery,遇到了一个问题。我有一个页面,其中包含以下格式的多个链接: <a class="a_link" id="a_id<#>" href="#">Click me</a> 其中是在运行页面的PHP中的for循环中生成的数字。在页面顶部,我有一个链接到GoogleCDNforjQuery1.7.2的脚本标签,还有一个id为“form_map”的div。显示所有链接后,我有以下脚本: <script type="text/
<a class="a_link" id="a_id<#>" href="#">Click me</a>
其中
是在运行页面的PHP中的for循环中生成的数字。在页面顶部,我有一个链接到GoogleCDNforjQuery1.7.2的脚本标签,还有一个id为“form_map”的div。显示所有链接后,我有以下脚本:
<script type="text/css">
$(document).ready(function(){
$('.a_link').click(function(){
var c_id = $(this).attr('id');
var task = 'read';
var ajax_url = 'engine.php';
alert('link pressed for id: '+c_id);
$.get({
url: ajax_url,
data: { 'task':task, 'c_id':c_id },
success: function(res){ $('#form_map').val(res); }
});
});
});
</script>
$(文档).ready(函数(){
$('.a_链接')。单击(函数(){
var c_id=$(this.attr('id');
var任务='read';
var ajax_url='engine.php';
警报('为id按下链接:'+c_id);
美元({
url:ajax\uURL,
数据:{'task':task'c_id':c_id},
成功:函数(res){$('#form_map').val(res)}
});
});
});
不管所有那些不可靠的Ajax调用(它们似乎也不能正常工作),当我单击一个链接时,什么都不会发生。它甚至没有运行脚本。我通过设置断点并添加警报来测试这一点。似乎没有什么能触发这一切
关于我做错了什么有什么建议吗?您需要在传递到的函数末尾返回false。单击()
返回false会阻止链接继续正常工作。您需要在传递到的函数末尾返回false。单击() 返回false将阻止链接继续正常工作。使用:
<script type="text/javascript">
而不是
$('#form_map').val(res);
使用:
而不是
$('#form_map').val(res);
您可能需要修复开始标记
<script type="text/css">
到
您可能需要修复开头标记
<script type="text/css">
到
您的脚本类型被列为“text/css”…它应该是“text/javascript”。您的脚本类型被列为“text/css”…它应该是“text/javascript”。甚至不是那样。。。如果您正在使用HTML5 doctype(
),则包含Javascript的
块上的type
属性是完全可选的,如果这是一个新项目,则最好是这样。将type更改为text/Javascript至少可以使脚本正常工作。我甚至有doctype,所以它应该在firefox和chrome中呈现为HTML5。我不知道为什么我的get函数没有发布来自ajax脚本的消息,但我最终会解决这一部分。ajax调用可能不起作用,因为$。get()
将url
,数据
等作为普通参数,而不是对象。尝试$.get(ajax_url,{'task':task,'c_id':c_id},…)
,或者使用接受对象的$.ajax()
。或者甚至不这样做。。。如果您正在使用HTML5 doctype(
),则包含Javascript的
块上的type
属性是完全可选的,如果这是一个新项目,则最好是这样。将type更改为text/Javascript至少可以使脚本正常工作。我甚至有doctype,所以它应该在firefox和chrome中呈现为HTML5。我不知道为什么我的get函数没有发布来自ajax脚本的消息,但我最终会解决这一部分。ajax调用可能不起作用,因为$。get()
将url
,数据
等作为普通参数,而不是对象。尝试$.get(ajax_url,{'task':task,'c_id':c_id},…)
,或者使用接受对象的$.ajax()
。
<script type="text/css">
<script type="text/javascript">