當前位置:首頁 » 網頁前端 » web組件按鈕操作
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web組件按鈕操作

發布時間: 2022-09-09 20:32:27

① C# web 怎麼實現點擊按鈕提示是否執行操作,選否就不執行後面的操作,選確定就執行代碼

最簡單就是注冊按鈕單擊事件時,將另外那個窗口的事件處理函數注冊在當前按鈕單擊事件里。
class Form2{ internal void Button1_Click(...){...} }
class Form1{ Form1(Form2 form2){ InitializeComponents(); this.Button2.Click+=form2.Button1_Click;}}
所有內容刷新又不重啟,只能遍歷控制項各個清空內容了

② c#中winform的webbrowser控制項在窗體中如何獲取按鈕或者的事件

HtmlElement btn=this.webBrowser1.Document.getElementById("這里填寫按鈕或a標簽的id");

btn.Click+=btn_Click;

private void btn_Click(object sender,HtmlElementEventArgs e){

//這里是你的打開新的窗口Form1的操作

1、在打開的ie瀏覽器窗口右上方點擊齒輪圖標,選擇「Internet選項」,如下圖所示:

③ web開發:怎麼控制每個按鈕控制項在屏幕上的位置

這是網頁布局的只是,可以用表格,現在的做法是用div,配合css

④ c# web中點擊BUTTON如何跳轉到其他web頁面

Response.Redirect("main.aspx", true);

或者Server.Transfer("main.aspx");

比如:現在做了兩個頁面,一個是登錄頁面(Default.aspx) 另一個就是輸入正確賬號密碼後要跳轉到的頁面(main.aspx) 在登錄頁面的確定按鈕的單擊事件里寫:

if(用戶名密碼和資料庫中的匹配)

{

Response.Redirect("main.aspx", true);

}

(4)web組件按鈕操作擴展閱讀:

注意事項

一、切換對象

1、Response.Redirect可以切換到任何存在的網頁。

2、Server.Transfer只能切換到同目錄或者子目錄的網頁。

二、數據保密

1、Response.Redirect後地址會變成跳轉後的頁面地址。

2、Server.Transfer後地址不變,隱藏了新網頁的地址及附帶在地址後邊的參數值。具有數據保密功能。

三、傳遞的數據量(網址後附帶的參數)

1、Response.Redirect能夠傳遞的數據以2KB為限。

2、傳遞的數據超過2KB時,務必使用Server.Transfer。

⑤ Web前端如何使用Vue編寫一個長按指令

今天小編要跟大家分享的文章是關於Web前端如何使用Vue編寫一個長按指令?正在從事web前端工作的小夥伴們有沒有想過只需按住一個按鈕幾秒鍾就能在你的
Vue應用中觸發一個功能?


有沒有想過創建一個按鈕,按下一次就可以清除單次輸入(或者持續按住可以清除所有輸入)?


本文就是講解如何在按下(或者按住)一個按鈕時,既執行一個函數,又清除輸入。


首先,我會講解如何使用純JS實現。而後也會創建一個Vue指令。下面就讓我們一起來看一看吧。

一、原理


要實現長按,用戶需要按下並按住按鈕幾秒鍾。


想通過代碼模擬這一效果,我們需要在滑鼠「點擊」按下按鈕時,啟動一個計時器監聽用戶按下的時長,如果時間超過我們期望的時長,就執行相應的函數。


非常簡單!然而,我們需要知道用戶何時按住按鈕。


二、如何實現


當用戶點擊按鈕時,在點擊事件之前會觸發另外兩個事件:mousedown和mouseup。


當用戶按下按鈕時觸發mousedown事件,用戶松開按鈕時調用mouseup事件。


我們需要做的是:


1.mousedown事件觸發時,啟動計時器。


2.一旦mouseup事件在預期的2秒前被觸發,就清除計時器,不要執行相應的函數。就當作一個普通的點擊事件。


只要計時器在我們預設的時間內沒有被清除,即mouseup
事件沒有被觸發——那麼可以斷定用戶沒有釋放按鈕。因此,可以判定為一次長按,可以執行關聯的函數。


三、實踐


讓我們深入代碼,完成這一功能。


首先,我們必須定義三件事,即:


1.一個變數用於存儲計時器。


2.一個啟動功能函數,用於啟動計時器。


3.一個取消功能函數,用於取消計時器。


1、變數


這個變數主要用來保存setTimeout的值,以便當滑鼠mouseup事件觸發時我們可以取消它。


letpressTimer=null;


我們把變數值設置為null是為了在執行取消操作前,檢查這個變數的值判斷當前是否有一個正在運行的計時器。


2、啟動函數


這個函數包括一個setTimeout,它是JavaScript中的一個基本方法,允許在特定時間之後執行一個函數。


注意,click事件執行的過程中,會觸發另外兩個事件。但是我們需要啟動計時器的是mousedown
事件。如果只是點擊事件,不需要啟動計時器。//創建計時器(1s之後執行函數)

letstart=(e)=>{

//如果是點擊事件,不啟動計時器

if(e.type==='click'&&e.button!==0){

return;

}

//在啟動一個定時器之前確保沒有正在運行的計時器

if(pressTimer===null){

pressTimer=setTimeout(()=>{

//執行任務!!!

},1000)

}

}

3、取消函數


這個函數見名知意,用來取消啟動函數創建的setTimeout。


要取消setTimeout,可以使用JavaScript中的clearTimeout方法,它主要用來清除setTimeout()
方法設置的計時器。


在使用clearTimeout之前,需要檢查pressTimer變數是否為null。如果沒有為
ull,意味著有一個正在運行的計時器。因此,我們需要先清除它,並且將pressTimer變數設置為null。letcancel=(e)=>{

//檢查pressTimer的值是否為null

if(pressTimer!==null){

clearTimeout(pressTimer)

pressTimer=null

}

}

一旦mouseup事件觸發,這個函數就會被調用。


4、設置觸發器


剩下的就是將事件監聽器添加到想要長按效果的按鈕上。


addEventListener("mousedown",start);


addEventListener("click",cancel);


以上代碼合到一起是這樣://定義變數

letpressTimer=null;

//創建計時器(1秒後執行函數)

letstart=(e)=>{

if(e.type==='click'&&e.button!==0){

return;

}

if(pressTimer===null){

pressTimer=setTimeout(()=>{

//執行任務!!!

},1000)

}

}

//停止計時器

letcancel=(e)=>{

//檢查是否有正在運行的計時器

if(pressTimer!==null){

clearTimeout(pressTimer);

pressTimer=null;

}

}

//選擇id為longPressButton的元素

letel=document.getElementById('longPressButton');

//添加事件監聽器

el.addEventListener("mousedown",start);

//長按事件取消,取消計時器

el.addEventListener("click",cancel);

el.addEventListener("mouseout",cancel);

5、用Vue指令包裝


創建Vue指令時,可以創建全局或局部指令,本文中,我們採用全局指令。


首先,我們必須聲明自定義指令的名稱。


Vue.diective('longpress',{


})


這就注冊了一個名為v-longpress的全局自定義指令。


接下來,我們添加帶參數的bind鉤子函數,它允許我們引用指令綁定的元素,獲取傳遞給指令的值,並標識指令使用的組件。Vue.directive('longpress',{

bind:function(el,binding,vNode){

}

})

接下來,我們在bind函數中添加長按功能的代碼。Vue.directive('longpress',{

bind:function(el,binding,vNode){

//定義變數

letpressTimer=null;

//定義函數處理程序

//創建計時器(1秒後執行函數)

letstart=(e)=>{

if(e.type==='click'&&e.button!==0){

return;

}

if(pressTimer===null){

pressTimer=setTimeout(()=>{

//執行任務!!!

},1000)

}

}

//取消計時器

letcancel=(e)=>{

//檢查是否有正在運行的計時器

if(pressTimer!==null){

clearTimeout(pressTimer);

pressTimer=null;

}

}

//添加事件監聽器

el.addEventListener("mousedown",start);

//取消計時器

el.addEventListener("click",cancel);

el.addEventListener("mouseout",cancel);

}

})

接下來,我們需要添加一個函數來運行傳遞給longpress指令的方法。Vue.directive('longpress',{

bind:function(el,binding,vNode){

//定義變數

letpressTimer=null;

//定義函數處理程序

//創建計時器(1秒後執行函數)

letstart=(e)=>{

if(e.type==='click'&&e.button!==0){

return;

}

if(pressTimer===null){

pressTimer=setTimeout(()=>{

//執行函數

handler();

},1000)

}

}

//停止計時器

letcancel=(e)=>{

//檢查是否有正在運行的計時器

if(pressTimer!==null){

clearTimeout(pressTimer);

pressTimer=null;

}

}

//運行函數

consthandler=(e)=>{

//執行傳遞給指令的方法

binding.value(e)

}

//添加事件監聽器

el.addEventListener("mousedown",start);

//取消計時器

el.addEventListener("click",cancel);

el.addEventListener("mouseout",cancel);

}

})

現在,可以在Vue應用中使用這個指令了,除非使用者給指令傳入的值不是一個函數。因此,我們需要通過警告反饋給使用者。


為了反饋給使用者,我們在bind函數中添加了以下內容://確保提供的表達式是函數

if(typeofbinding.value!=='function'){

//獲取組件名稱

constcompName=vNode.context.name;

//將警告傳遞給控制台

letwarn=`[longpress:]providedexpression'${binding.expression}'isnotafunction,buthastobe`;

if(compName){warn+=`Foundincomponent'${compName}'`}

console.warn(warn);

}

最後,如果這個指令也適用於觸屏設備,那會是極好的。因此,我們添加了touchstart、touchend和touchcancel
事件監聽器。


最終代碼如下:Vue.directive('longpress',{

bind:function(el,binding,vNode){

//確保提供的表達式是函數

if(typeofbinding.value!=='function'){

//獲取組件名稱

constcompName=vNode.context.name;

//將警告傳遞給控制台

letwarn=`[longpress:]providedexpression'${binding.expression}'isnotafunction,buthastobe`;

if(compName){warn+=`Foundincomponent'${compName}'`}

console.warn(warn);

}

//定義變數

letpressTimer=null;

//定義函數處理程序

//創建計時器(1秒後執行函數)

letstart=(e)=>{

if(e.type==='click'&&e.button!==0){

return;

}

if(pressTimer===null){

pressTimer=setTimeout(()=>{

//執行函數

handler();

},1000)

}

}

//取消計時器

letcancel=(e)=>{

//檢查計時器是否有值

if(pressTimer!==null){

clearTimeout(pressTimer);

pressTimer=null;

}

}

//運行函數

consthandler=(e)=>{

//執行傳遞給指令的方法

binding.value(e)

}

//添加事件監聽器

el.addEventListener("mousedown",start);

el.addEventListener("touchstart",start);

//取消計時器

el.addEventListener("click",cancel);

el.addEventListener("mouseout",cancel);

el.addEventListener("touchend",cancel);

el.addEventListener("touchcancel",cancel);

}

})

現在可以在Vue組件里使用了: