繁体   English   中英

为什么我的JQuery脚本不起作用?

[英]How come my JQuery script doesn't work?

我不确定为什么这行不通,我在网上阅读的所有文章都似乎应该行得通。 好吧,这是我的html代码:()

<!doctype html>
<html>
<head>
<script src = "http://code.jquery.com/jquery-latest.min.js" type = "text/javascript"></script>
<script src = "showmotto.js" type = "text/javascript"> </script>
</head>

<body>

<table>

<?php

    $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);  
    $sth = $pdo->query('SELECT * from users');
    $sth->setFetchMode(PDO::FETCH_ASSOC);   

    while( $row = $sth->fetch() )
    {
        echo "<tr><td class = \"users\" data-motto = '{$row['motto']}' >{$row['username']}</td></tr>";      
    }

    $pdo = null;

?>

</table>

</body>

</html>

这是show-motto.js。 我的目标是当用户将鼠标悬停在桌子上时,用数据格言中的信息来提醒用户。 但是我还没走那么远,因为某些原因,mouseover事件无法正常工作

$('td.users').live('mouseover', function()
    alert(0);
});

我也试过$('。users'),但是也不行。

我究竟做错了什么?

在最新版本的jQuery中, live已被删除。

您可以执行以下操作:

$(document).on('mouseover', 'td.users', function() {
    alert(0);
});

或者,因为所有元素都是最初创建的:

$(function(){
   // put all your code inside this block
   $('td.users').on('mouseover', function() {
      alert(0);
   });
});

与第二种方法类似,另一种解决方案是将所有JS代码放在位于body末尾(即表格之后)的script元素中。

您还添加了一个缺少的左括号。 您应该使用显示所有错误的浏览器控制台检测到此问题。

由于肝功能从最新版本的jQuery 过时的......而不是使用像

$(function(){
    $('td.users').on('mouseover', function()
        alert(0);
    });
})

要么

$(document).ready(function(){
    $('td.users').on('mouseover', function()
        alert(0);
    });
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM