如何在jQuery中获取函数外部的click事件值

时间:2012-01-05 09:14:10

标签: javascript jquery

如何在jQuery中获取onclick事件(在单击div时更改此值?)

$("ul li").click(function(){
  var v = $(this).val();
});

$(function(){
  alert(v);
});

3 个答案:

答案 0 :(得分:3)

$(function() {

    var v;

    $('ul li').click(function() {
        v = $(this).val(); // .text() - consider
        testFunction();
    });

    function testFunction() {
        alert(v);
    }

});

您的问题是变量范围,您定义的变量仅适用于click函数。如果您在函数之外定义它,则其他范围函数可以使用它。

这是一个演示:

http://jsfiddle.net/vs87B/

您可能需要考虑使用.text()代替.val()

答案 1 :(得分:0)

据我了解你想要改变div的文本

你的div如下

 <div>123</div>

你可以这样做

<script>

$("div").click(function () {
 $(this).replaceWith( "new text " );
});
</script>

修改 您可以使用全局变量,如下所示

 $.mynamespace = {};
$("ul li").click(function(){
       $.mynamespace.myVar  = $(this).val();
});

$(function(){
  alert( $.mynamespace.myVar );
});

参考How to store a global value (not necessarily a global variable) in jQuery?

答案 2 :(得分:0)

如果你的意思是在点击时获取div的innerHTML,这里有一个可以帮助的代码

$("div").click(function(){console.log($(this).html())})