qiayue
V2EX  ›  问与答

不用jquery,怎么实现jquery的trigger?

  •  
  •   qiayue ·
    PRO
    · Aug 27, 2012 · 5131 views
    This topic created in 5006 days ago, the information mentioned may be changed or developed.
    就是想让页面中的按钮被触发点击事件
    3 replies    1970-01-01 08:00:00 +08:00
    litten
        1
    litten  
       Aug 27, 2012   ❤️ 1
    这个比较难自己去做,建议直接官方源码搞起。但是,官网源码又比较难懂了,它有一大部分只是为了兼容火狐,ff中jQuery对链接的默认行为都统一为不能触发,它做了另外一种处理(方法我看不懂)。
    额,我懂的只有这一点了,粗浅得很:
    trigger的实现原理最核心部分是handle,jq注册事件时候,会保存一个与元素及事件名相对应的cache中。当你通过等程序来强迫触发时,从cache中取到对应的函数。如果这个对应的函数是浏览器默认的那种,比如domInput.select,它就要再伪造一个function setDomSelected(){}这样的函数强制执行就可以了。
    kojp
        2
    kojp  
       Aug 28, 2012   ❤️ 1
    我总觉得jQ能实现的的东西,其实原生的js 都是能实现的。关键就是你是否愿意花时间去折腾,尤其是在
    浏览器的兼容性。这件蛋疼的事情上面。--------------其实,也没啥 。if else就是了。先把标准的浏览器写好。然后再加一些判断浏览器的功能。
    NemoAlex
        3
    NemoAlex  
       Aug 28, 2012   ❤️ 1
    buttonElement.click()
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5655 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:37 · PVG 11:37 · LAX 20:37 · JFK 23:37
    ♥ Do have faith in what you're doing.