接下来,要通过JavaScript代码以正确的参数来调用前面的PHP脚本。虽然可以使用常规 的.load()机制在URL后面添加查询字符串,即通过类似e.php?term=eavesdrop这样的地址 直接取得数据。但是,在此我们想让jQuery基于我们提供给$.get()函数的对象来构建查询字符 串,参见代码清单6-10。
代码清单6-10
前面我们已经看到过jQuery提供的其他Ajax接口了,因此对这个函数的使用也应该熟悉。其 中唯一的差别是第二个参数,该参数是一个用来构建查询字符串的键和值的对象。在这个例子中,键始终是term,而值则取自每个链接的文本。现在,单击列表中的第一个链接会导致相应词语 的解释出现在页面中,如图6-8所示。
值得一提的是,列表中的链接无论有无代码使用它们都已经带有了给定的地址。这样,就为禁用了或者无法使用JavaScript的用户提供了查询相关信息的替代方法(这也是一种渐进增强的 做法)。但在正常情况下,为了防止单击这些链接时打开新URL,我们在事件处理程序中调用 了 .preventDefault()方法。
返回false还是阻止默认动作
在本章的click处理程序中,我们传入了 event对象并使用event. preventDefault()而不是return false结束该处理程序。当默认动作是重新 加载页面或打开新页面时,我们推荐这种做法。例如,如果click处理程序中包 含JavaScript错误,那么在第一行代码中(在碰到错误之前)阻止默认动作就能 确保不会提交表单,而且浏览器的错误控制台也会收到错误报告。第3章曾介绍 过,return false 意味着同时调用 event.preventDefault()和 event. stopPropagation()。因此要想停止事件冒泡,我们还得再调用后者。
原文地址:
该文章由 萌萌的IT人 整理发布,转载须标明出处。