Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象值名称传递给Jquery中的函数_Javascript_Jquery_Freemarker_Simplemodal - Fatal编程技术网

Javascript 如何将对象值名称传递给Jquery中的函数

Javascript 如何将对象值名称传递给Jquery中的函数,javascript,jquery,freemarker,simplemodal,Javascript,Jquery,Freemarker,Simplemodal,我正在使用JQuery简单模式插件,我想在点击JQuery函数的链接时传递一个Freemarker变量/对象 作为一个测试,我创建了一个警报框,以查看该值是否被传递,并且它似乎不起作用 $(function() { // Load dialog on page load //$('#basic-modal-content').modal(); // Load dialog on click $('#hey').click(function myName(uid

我正在使用JQuery简单模式插件,我想在点击JQuery函数的链接时传递一个Freemarker变量/对象

作为一个测试,我创建了一个警报框,以查看该值是否被传递,并且它似乎不起作用

$(function() {

    // Load dialog on page load
    //$('#basic-modal-content').modal();

    // Load dialog on click
    $('#hey').click(function myName(uid) {
        var x = uid;
        alert(uid);

        return false;
    });
});
HTML

<div id="disclaimer${item.uid}">
    Modal data
</div>

<a onclick="myName('${item.uid}')" id="hey">Read the blog</a>

模态数据
阅读博客
警报框只是作为一个空白对象出现。任何帮助都将不胜感激。谢谢

尝试使用以下方法:

function myName(uid){
  alert(uid);
}
您不需要将其包装到jquery事件处理程序中,因为您已经从Freemarker模板中将其作为onclick事件调用

或者,您可以这样做:

<a data-uid="${item.uid}" id="hey">...</a>
$('#hey').click(function(){
  alert($(this).data('uid'));
}
    $('#hey').click(function(e){
      debugger;
      alert($(e.target).attr('data-uid'));
    });
尝试使用以下方法:

function myName(uid){
  alert(uid);
}
您不需要将其包装到jquery事件处理程序中,因为您已经从Freemarker模板中将其作为onclick事件调用

或者,您可以这样做:

<a data-uid="${item.uid}" id="hey">...</a>
$('#hey').click(function(){
  alert($(this).data('uid'));
}
    $('#hey').click(function(e){
      debugger;
      alert($(e.target).attr('data-uid'));
    });

首先,您似乎混淆了HTMLonClick属性和jquery.click方法

    <a onclick="myName('${item.uid}')" id="hey">Read the blog</a>
好的,你需要选一个。可以使用onclick调用javascript函数,也可以使用bind click事件。这两种方法都可以工作(我自己更喜欢javascript onclick函数,但这只是我的看法)

如果要使用jQuery绑定,请放置一个调试器;在它的线,以便您可以通过它很容易地一步一步观看。我通常使用e作为事件变量,e.target获取事件的目标。它看起来像这样:

<a data-uid="${item.uid}" id="hey">...</a>
$('#hey').click(function(){
  alert($(this).data('uid'));
}
    $('#hey').click(function(e){
      debugger;
      alert($(e.target).attr('data-uid'));
    });
---编辑--- 在下面添加我的注释,以便更容易阅读


在onclick函数中,我喜欢做的一件事是传递this指针。如果有多个相同类型的节点正在调用相同的函数,则这一点尤其有用

    <a onclick="myName(this)" id="hey2">Read the blog</a> 
    <a onclick="myName(this)" id="hey3">Read the blog</a>

首先,您似乎混淆了HTMLonClick属性和jquery.click方法

    <a onclick="myName('${item.uid}')" id="hey">Read the blog</a>
好的,你需要选一个。可以使用onclick调用javascript函数,也可以使用bind click事件。这两种方法都可以工作(我自己更喜欢javascript onclick函数,但这只是我的看法)

如果要使用jQuery绑定,请放置一个调试器;在它的线,以便您可以通过它很容易地一步一步观看。我通常使用e作为事件变量,e.target获取事件的目标。它看起来像这样:

<a data-uid="${item.uid}" id="hey">...</a>
$('#hey').click(function(){
  alert($(this).data('uid'));
}
    $('#hey').click(function(e){
      debugger;
      alert($(e.target).attr('data-uid'));
    });
---编辑--- 在下面添加我的注释,以便更容易阅读


在onclick函数中,我喜欢做的一件事是传递this指针。如果有多个相同类型的节点正在调用相同的函数,则这一点尤其有用

    <a onclick="myName(this)" id="hey2">Read the blog</a> 
    <a onclick="myName(this)" id="hey3">Read the blog</a>

hey在您发布的html中的什么位置?
event
对象是作为参数传递给事件处理程序(如单击函数)的对象。对单击事件使用未命名的函数,如
。单击(函数(uid){…})
,而不是
。单击(函数myName(uid){…})
。您将函数的参数命名为
uid
,但实际上您会在此处找到对单击的DOM元素的引用。hey在您发布的html中的何处?
event
对象是作为参数传递给事件处理程序(如click函数)的对象。对单击事件使用未命名的函数,如
。单击(函数(uid){…})
,而不是
。单击(函数myName(uid){…})
。您将函数的参数命名为
uid
,但实际上您会在这里找到对单击的DOM元素的引用。这绝对有意义。谢谢当然有道理。谢谢在onclick函数中,我喜欢做的一件事是传递this指针。如果有多个相同类型的节点正在调用相同的函数,则这一点尤其有用
阅读博客
然后,在javascript中,您的函数看起来像:'function myName(ptr){$(ptr)…//do some stuff}'我喜欢在onclick函数中做的一件事是传递this指针。如果有多个相同类型的节点正在调用相同的函数,则这一点尤其有用
阅读博客
然后,在javascript中,您的函数看起来像:'function myName(ptr){$(ptr)…..//do some stuff}'