1

我正在尝试通过 onclick 传递一些值,这对我来说要快得多。但我需要使用某种“实时”点击,我正在研究 .on() 或 .delegate()。但是,如果我做任何这些,在其中传递这些值followme()似乎有点难以获得。有没有我没有看到的某种方法?

    <div class='btn btn-mini follow-btn' 
         data-status='follow' 
         onclick="followme(<?php echo $_SESSION['user_auth'].','.$randId;?>)">
            Follow 
    </div>

function followme(iduser_follower,iduser_following)
{

        $.ajax({
        url: '../follow.php',
        type: 'post',
        data: 'iduser_follower='+iduser_follower+'&iduser_following='+iduser_following+'&unfollow=1',
        success: function(data){
                $('.follow-btn').attr("data-status",'follow');
                $('.follow-btn').text('Follow');
            }

        });

}

如您所见,将值从 PHP 传递到 jQuery 更容易......还有其他方法吗?

4

2 回答 2

2

您可以分配更多的数据值,并且您知道登录的用途,您只需传递要关注的人:

<div class='btn btn-mini follow-btn' 
     data-status='follow' 
     data-who='<?php echo $randId; ?>'
     id='followBTN'>
        Follow 
</div>

<script>
    $('#followBTN').on('click', function(){
        $.ajax({
            url: '../follow.php',
            type: 'post',
            data: {
                iduser_following: $(this).attr('data-who')
            },
            success: function(data){
                $('.follow-btn').attr("data-status",'follow');
                $('.follow-btn').text(data.text);
            }

        });
    });
</script>

您可以$_SESSION['user_auth']直接从 PHP 处理和状态,无需在 jQuery 中传递它们。确保在插入点击事件document时已准备就绪。on

于 2013-02-13T08:18:30.703 回答
1

只需使用 jquery 'on' 事件。将一个名为 data-session 的新属性附加到 div,然后使用 .attr 方法检索它。您有下面的示例向您显示数据警报,您只需将其替换为您的代码

<html>
<head>
   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
   <script>
      $(document).ready(function(){
         $(document).on('click', '#follow-me-button', function(){
            alert($(this).attr('data-session'));
         })
      })
   </script>
</head>
<body>
   <div id="follow-me-button" class='btn btn-mini follow-btn' data-status='follow' data-session ="MY-SESSION-DATA-FROM-PHP">
            Follow
    </div>
</body>
</html>
于 2013-02-13T08:19:24.263 回答