addEventListenerWithSceneGraphPriority第二个参数的作用不解!!

function PuzzleLayer:onEnter()
    local s = cc.Director:getInstance():getWinSize()

    local function closeCallback()
        --cc.Director:getInstance():endToLua()
        print("closeCallback")
    end

    -- add close menu
    local closeItem = cc.MenuItemImage:create("CloseNormal.png", "CloseSelected.png")
    closeItem:registerScriptTapHandler(closeCallback)
    closeItem:setPosition(s.width - 20, 20)

    local closeMenu = cc.Menu:create()
    closeMenu:setPosition(0, 0)
    closeMenu:addChild(closeItem)
    self:addChild(closeMenu)

    local function onTouchBegan(touch, event)
        print("touch began")
    end
    local listener = cc.EventListenerTouchOneByOne:create()
    listener:setSwallowTouches(true)
    self._listener = listener
    listener:registerScriptHandler(onTouchBegan, cc.Handler.EVENT_TOUCH_BEGAN)
    local eventDispatcher = self:getEventDispatcher()
    eventDispatcher:addEventListenerWithSceneGraphPriority(listener, closeItem)
end



```


以上是本人的一段代码,PuzzleLayer继承自一个Layer,我发现点击到closeItem时会先打印出"touch began", 再打印"closeCallback".
但如果是点击到窗口中的其他地方(未点击到closeItem),就只打印"touch began"。这是怎么回事呢,与我的预期不一致呀。

据我的理解,这个listener是被关联到closeItem,当点击到closeItem时才会触发onTouchBegan,如果没点击到closeItem的话,应该不会触发,可事实是会触发,这是怎么回事呢,求解答下!

是不是在区域中,不是要自己判断吗

自己在代码中判断,我知道可以实现的。那说说第二个参数的含义吧?