我一直在研究一个检查数据操作的大脚本,现在我实现了一个悬停来显示一些图标;像这样:
<div class="Flag" data-action="mail-flag"><i class="fa fa-flag" aria-hidden="true"></i></div>
然而,由于内部没有纯文字而是图标,if ($(e.target).attr('data-action')) {
不起作用,因为$(e.target)
是<i></i>
。
如果if ($(e.target).attr('data-action')) {
<div>...</div>
没有将data-action="mail-flag"
添加到<i></i>
,我怎样才能让local player = game.Players.LocalPlayer
local Image = player.StarterGui.Fade.FadeImage
local i = 0 --have i as a stopper for the repeat function, it tends to go over it.
script.Parent.Door1.Touched:connect(function(hit)
if hit.Humanoid ~= nil then
Image.Visible = true
repeat
Image.Transparency = Image.Transparency - 0.1
i = i + 1
wait(0.1)
until i == 10
end
end)
script.Parent.Door2.Touched:connect(function(hit)
if hit.Humanoid ~= nil then
Image.Visible = true
repeat
Image.Transparency = Image.Transparency - 0.1
i = i - 1
wait(0.1)
until i == 0
end
end)
工作?
答案 0 :(得分:1)
您可以检查元素,然后检查其父元素。首先,检查是否
$(e.target).attr('data-action')
存在。如果没有,请使用
$(e.target).parents(".Flag").attr('data-action')
答案 1 :(得分:1)
您可以使用事件委派来访问属性值。
$('div[data-action]').on('mouseenter', 'i.fa', function(e){
console.log($(e.delegateTarget).data('action'))
})