我正试图从:
中访问我自己的javascript函数$("body").on("mouseenter",".noteNode",function(){});
麻烦似乎是当我在上面的函数里面时jQuery不允许我访问其他元素?
让我进一步阐述: 我想使用的实际代码我已经jsfiddled:http://jsfiddle.net/uJ2Yb/8/
我相信函数正在调用,因为我想要它,但正如你所看到的那样$(this)无法定位正在悬停的实际div,所以当试图将这些数据传递给它只是没有到达的其他功能 - 为什么会这样?我认为这是一个范围问题,但我已经尝试了几种方法来解决它并搜索S.O而没有太多运气。
我需要使用$(" body")的原因是因为我正在创建DIV(将会悬停) JS。
正如您所看到的,悬停功能正常工作并按照应有的方式触发,但完全无法访问DOM中我不理解的任何内容
[编辑] 以澄清:http://jsfiddle.net/uJ2Yb/8/
我试图将DIV的ID(由JS创建)传递给我自己的函数,我想尝试访问DIVs偏移参数 - 但我无法这样做,你会看到我修改过的小提琴,我刚刚得到的' undefined'在我的警报框中,这不是我想要的 - 我仍然相信这是因为范围问题。
答案 0 :(得分:2)
尝试这个更新的小提琴:http://jsfiddle.net/uJ2Yb/7/
function myFunction(someVar){ alert(someVar); }
$("body").on("mouseenter",".noteNode",function(event){
myFunction(event.target.innerHTML );
//alert( event.target.innerHTML );
});
答案 1 :(得分:0)
请为您的Div分配唯一ID
尝试此代码
function myFunction(someVar){ alert(someVar); }
$(document).ready(function(){
$("body").append('<div class="noteNode" id="a">Note Node</div>');
$("body").append('<div class="noteNode" id="b">Note Node</div>');
$("body").append('<div class="noteNode" id="c">Note Node</div>');
});
$("body").on("mouseenter",".noteNode",function(){
myFunction( $(this).attr("id") );
alert( $(this).attr("id") );
});