javascript方法封裝問題

问题描述

javascript方法封裝問題

我想寫個方法類似於jquery的這種寫法
$(id).click(function(){

})

这样写為什麼不行 應該怎麼寫
window.$=function(id){
return document.getElementById(id);
}
$.click=function(f){

        $.attachEvent("onclick",f());
    }

解决方案

这思路是不对的。
 window.$=function(id){  // window.$表示的是function,而不是dom节点
return document.getElementById(id);
}
$.click=function(f){//这里的$是function,不是dom节点,因此$.click无意义。$.attachEvent也无意义。
        $.attachEvent("onclick",f());
    }

解决方案二:

http://blog.csdn.net/tjcyjd/article/details/6106884

解决方案三:


    <div id="dv">dv</div>
    <script>
        window.$ = function (id) {
            var dom = document.getElementById(id);
            dom.click = $.click;
            return dom;
        }
        $.click = function (f) {
            this.attachEvent("onclick", f/*()*/);
        }
        $('dv').click(function () { alert(11) })
    </script>

解决方案四:

怎么看都是jq的写法。 js只有三种获取方式,document.getElementById...等。在JavaScript中$是document.getElementById()的简写或者变量名...等等。而在jq里面,指代他对象的引用.

解决方案五:

<script>
    window.$ = function (id) {
        var dom = document.getElementById(id);
        dom.click = $.click;
        return dom;
    }
    $.click = function (f) {
        if(this.attachEvent)
        this.attachEvent("onclick", f);
        else
        this.addEventListener("onclick", f);
    }
    $('dv').click(function () { alert(11) })
</script>

解决方案六:

eval("alert('1')");

解决方案七:

"eval(&quot;alert('1')&quot;);"

解决方案八:

如何在JavaScript中封装Java的StringBuffer方法
封装方法到对象(javascript)
javascript方法的重载问题

时间: 2024-10-31 03:39:18

javascript方法封裝問題的相关文章

vs2012在XP(2002)系統的安裝問題求助!

问题描述 在XP系統下能安裝vs2012嗎?还是需要打补丁? 解决方案 解决方案二:好像装不了,至少我win7非sp1版本装不了2013解决方案三:换win7吧.现在win7sp1都能装15.

c#調用bartender軟件,使用Print方法問題。。

问题描述 c#調用bartender軟件,使用Print方法問題.. 以下兩句代碼為調用bartender的Print方法進行打印,out message為提示打印的信息,現在不想要提示打印信息,Print方法參數不寫又會報錯,這裡應該怎麼寫Print方法呢? 還有每Print一次,則把一個工單命令傳送給打印機打印,但是打印機在打印完一個工單繼續打印下一個的時候,會停頓0.5秒左右,這是打印機本身設定還是程序可以控制的?謝謝 BarTender.Messages messages; btForm

c# com控件-C#調用OCX控件問題,如何在另外一个方法中执行A 并获取A事件的执行情况

问题描述 C#調用OCX控件問題,如何在另外一个方法中执行A 并获取A事件的执行情况 最近开发时使用到一个第3方提供的ocx控件.其中ocx控件中有一个A方法,以及一个A方法的事件(通过事件中的参数来判断A方法的执行情况) 我的问题是:我写了一个B方法,在B方法中调用了A方法,并要在B方法中等待A事件的执行并判断其执行情况.但是我在B方法中等待A事件超时后才会执行A的事件,即只有退出B方法后A的事件才会执行.求各位大神帮帮忙.小弟入行不久,不知道如何处理.附上代码 后来我在B方法中通过线程去执行

ns2-NS2安裝過後運行出現問題,無法顯示nam

问题描述 NS2安裝過後運行出現問題,無法顯示nam apple@acer:/media/apple/others/ZYJNS/ns-allinone-2.35/ns-2.35/tcl/ex$ ns % nam Can't find a usable init.tcl in the following directories: :/media/apple/others/ZYJNS/ns-allinone-2.35/tcl8.5.10/library /media/apple/??????/ZYJ

cmake-CMAKE 安裝 marsyas 問題

问题描述 CMAKE 安裝 marsyas 問題 The C compiler identification is MSVC 16.0.40219.1 The CXX compiler identification is MSVC 16.0.40219.1 Check for working C compiler using: Visual Studio 10 2010 Check for working C compiler using: Visual Studio 10 2010 -- wo

Oracle常見問題集(一)

oracle 一.常見問題 1. Oracle安裝完成後的初始口令 internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp   2. ORACLE9IAS WEB CACHE的初始默認用戶和密碼? administrator/administrator   3. oracle 8.0.5怎麽創建資料庫 用orainst.如果有motif介面,可以用orainst /m   4. oracle

ORACLE常用問題1000問(之一)

oracle 大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步! 對ORACLE高手來說是不用看的. 1. Oracle安裝完成后的初始口令? internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp 2. ORACLE9IAS WEB CACHE的初始默认用户和密码? adm

ORACLE常用傻瓜問題1000問(之一)

oracle                                             ORACLE常用傻瓜問題1000問(之一)    作者:  CCBZZP           大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!         對ORACLE高手來說是不用看的.   1. Oracle安裝完成后的初始口令?   internal/oracle

文件上傳並觸發掃毒引擎的問題

问题描述 各位有写过上传文件或文档后,触发扫毒引擎对文件进行扫描,并把结果回车页面的程序吗? 解决方案 解决方案二:就好像163郵箱裡收MAIL後,會對郵件進行掃毒有這樣的經驗嗎解决方案三:怎麼樣啊,高手呢解决方案四:怎麼沒有人回答呢?沒分也不至於這樣吧解决方案五:js可以出发exe文件的.解决方案六:謝謝,我看一下回復的人真的是少啊解决方案七:mark解决方案八:?解决方案九:mark解决方案十:應該會有人做過差不多的功能吧,請問有誰知道嗎?解决方案十一:帮顶!!!!!!!!!!!!!!!!解