我在jQuery中遇到綁定動態事件的問題。我想實現的是有一個事件作用於先前已設置的變量。例如我有事件綁定中的動態變量
someFunc = function (form_id)
{
$("input").bind("focus", function()
{
$("#"+form_id).css({"border":"1px solid red"});
});
}
someFunc("edit_form");
somefunc("add_form");
現在,這是我正在尋找的大型簡化,但綁定時的動態性質是我所需要的。這裏的問題是,基本上我希望jQuery能夠在應用綁定時執行任何「form_id」,但是當它觸發焦點時,它會在「form_id」的任何位置執行。
我明白爲什麼會出現這種情況,我的問題是如何實現我正在尋找的功能。 (這裏再次形成只是一個例子,而不是實際的功能)。
編輯1:
這可能是我想要達到一個更好的例子:
Dog.prototype = {
name: "Dog",
bind_function : function()
{
name = this.name;
$(name+"_edit_form input[name='something']").bind("focus", function()
{
console.log(name);
})
}
}
function Dog() {
this.breed = "Chihuaha";
}
Rover = new Dog();
Rover.bind_function();
Fido = new Dog();
Fido.bind_function();
現在我要專注於生產特定的狗的名字的控制檯日誌,但目前它只會控制登錄最後一隻狗的名字?
你的第二個例子是更加混亂。爲什麼'this.breed'?另外你總是選擇'$('Dog_edit_form input [....'這似乎是錯誤的。 – 2011-05-03 12:07:29
對不起,這是一個特別困難的事情,無論如何找到答案。現在發佈。 – Dormouse 2011-05-03 12:11:53