Mad*_*ams 3 html javascript ajax jquery
几天前我发布了这个问题:
它是关于使链接适用于JavaScript启用浏览器(AJAX)和非JavaScript浏览器或爬虫的普通链接.
现在我发现这种方法适用于我,也是Google推荐的.这就是我做的:
<a href="/some/page.php" onClick="jsfunction():return false">My Link</a>
Run Code Online (Sandbox Code Playgroud)
现在我喜欢这个,它正是我需要它的工作方式.但是如果我要使用jQuery的事件处理程序.我会做这样的事情:
<a href="/some/page.php" id="mylink">My Link</a>
<script>
$("#mylink").live(\'click\', function(){
my_function();
})
</script>
Run Code Online (Sandbox Code Playgroud)
我想知道如何在/some/page.php启用JavaScript时阻止我的页面到达目标,而不是像前一种情况那样使用返回false的onClick事件.
我也想知道如何对表格做同样的事情.当我单击提交按钮并启用JavaScript时,我不希望表单执行操作.
我正在尝试创建一个使用和不使用JavaScript浏览器的网站.唯一的区别是启用JavaScript的浏览器将使用AJAX而其他浏览器不会.
使用preventDefault(),像这样:
<script>
$("#mylink").live('click', function(event) {
event.preventDefault();
my_function();
});
</script>
Run Code Online (Sandbox Code Playgroud)
请注意,您必须具有event作为function此示例代码的参数才能工作.此外,我不知道你为什么逃脱了你的'(也许这个代码是由另一个脚本以某种方式生成的?),但除非你做了一些奇怪的事情,否则你不需要它.
这部分在技术上不是你的答案,但它也很重要:live()已弃用,正如评论中所指出的那样.执行此操作的最佳方法是使用事件委派on(),如下所示:
<script>
$('body').on('click', '#mylink', function(event) {
event.preventDefault();
my_function();
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |