jquery点击不解雇

时间:2014-12-17 02:27:00

标签: javascript jquery cfml

    <td><input name="SeeUsers" id="SeeUsers" class="SeeUsersButton" value="See Users" type="button" title="#qPages.id#" onclick="ListUsers();"></td>

<script type="text/javascript">

        ListUsers=function(){
            var userid = $(this).title;
            $('.userslistdiv').text(userid);
            $('.userslistdiv').show;
        };

</script>

我一直在尝试将此输入绑定到jquery点击事件,但无法触发它。所以,我转储了jquery点击功能,只使用了onclick =。两人都没有开火。

问题可能是主页面有一个cfdiv,它动态加载带有onclick =输入的内容。但我使用jquery datepicker在几个页面上执行此操作没有问题。

在开发工具中,我可以看到脚本,它在头部。

编辑代码:

    ListUsers=function(el){
        var userid = el.title;
        $('.userslistdiv').text(userid);
        $('.userslistdiv').show;
    };

<input name="SeeUsers" id="SeeUsers" class="SeeUsersButton" value="See Users" type="button" title="#qPages.id#" onclick="ListUsers(this);"></td>

2 个答案:

答案 0 :(得分:5)

如果您尝试在动态添加的元素上触发事件,则必须首先选择已存在的包含动态添加元素的元素。这可以是一个div,你在其中添加了新元素,或者你可以使用文档对象,如果你事先不知道元素的添加位置。

需要Javascript :(添加警报以告知您事件有效)

代码笔示例:http://codepen.io/larryjoelane/pen/zrEWvL

/* You can replace the document object in the parentheses
   below with the id or class name of a div or container 
   that you have appended the td tag
 */
$(document).on("click","#SeeUsers",function(){//begin on click event

            var userid = $(this).title;
            $('.userslistdiv').text(userid);
            $('.userslistdiv').show;

           //test to see if event fired!
           alert("it worked");

        });//end on click event

答案 1 :(得分:2)

this内的

ListUsers未引用所点击的元素,因此您需要将点击的元素引用作为参数传递

<input name="SeeUsers" id="SeeUsers" class="SeeUsersButton" value="See Users" type="button" title="#qPages.id#" onclick="ListUsers(this);">

然后

ListUsers = function(el) {
    var userid = el.title;
    $('.userslistdiv').text(userid);
    $('.userslistdiv').show();
};

-

但是因为你有jQuery,所以使用jQuery来处理事件

jQuery(function ($) {
    $('#SeeUsers').click(function () {
        var userid = this.title;
        $('.userslistdiv').text(userid);
        $('.userslistdiv').show(); //it is a function
    });
})