Jquery Javascript - 使内联js成为一个函数

时间:2012-01-23 03:09:34

标签: javascript jquery function

好的,所以我可能很容易,但我似乎无法弄明白。我有一个函数,但我仍然需要调用函数内联。我想知道是否有办法把它全部放在功能中。现在我的功能看起来像这样:

function ddItem(el) {
 $(el).closest(".ddSelectHeader").find("input").attr({
    value : $(el).text()
})
 }

然后我像这样内联调用这个函数:

<div class="ddContainer">
<div class="ddSelectHeader"><input name="" type="text" />
<div class="ddSubmenu">
  <a href="#" onclick="ddItem(this)">Item 1</a><br />
  <a href="#" onclick="ddItem(this)">item 2</a>
  </div>
</div>

好的,所以我想尝试简单的下拉,但使用div而不是传统的ul li。上面写的方式工作正常,但我希望有一种方法可以将onlcick取出,以便在ddSubmenu中点击的任何链接都会填充输入字段。这样我就不必在内联或html中调用它。

感谢您的帮助。

4 个答案:

答案 0 :(得分:4)

$(document).ready(function() {
    $(".ddSubmenu a").click(function(){
        var $this = $(this);

        $this.closest(".ddSelectHeader").find("input").val($this.text());
    });
})

答案 1 :(得分:1)

$(function(){
    $('.ddSubmenu > a').click(function(){
        var self = $(this);
        self.closest(".ddSelectHeader").find("input").val(self.text());
    });
});

答案 2 :(得分:0)

通过javascript,您可以使用element.onclickhttps://developer.mozilla.org/en/DOM/element.onclick

或jQuery的.click()http://api.jquery.com/click/

答案 3 :(得分:0)

$('.ddSubmenu a').click(function(){
    ddItem(this);
});