@@ -200,40 +200,42 @@ export class Interpreter {
200200 let target = event . target ;
201201 if ( target != null ) {
202202 let realId = target . getAttribute ( `data-dioxus-id` ) ;
203+ let shouldPreventDefault = target . getAttribute (
204+ `dioxus-prevent-default`
205+ ) ;
206+
207+ if ( event . type == "click" ) {
208+ event . preventDefault ( ) ;
209+ if ( shouldPreventDefault !== `onclick` ) {
210+ console . log ( "click" , event ) ;
211+ console . log ( "clickeded" , event . target ) ;
212+ console . log ( "clickeded" , event . target . tagName ) ;
213+ if ( target . tagName == "A" ) {
214+ const href = target . getAttribute ( "href" ) ;
215+ if ( href !== "" && href !== null && href !== undefined ) {
216+ window . rpc . call ( "browser_open" , { href } ) ;
217+ }
218+ }
219+ }
220+ }
221+
203222 // walk the tree to find the real element
204223 while ( realId == null && target . parentElement != null ) {
205224 target = target . parentElement ;
206225 realId = target . getAttribute ( `data-dioxus-id` ) ;
207226 }
208- const shouldPreventDefault = target . getAttribute (
227+
228+ shouldPreventDefault = target . getAttribute (
209229 `dioxus-prevent-default`
210230 ) ;
231+
211232 let contents = serialize_event ( event ) ;
212233 if ( shouldPreventDefault === `on${ event . type } ` ) {
213234 event . preventDefault ( ) ;
214235 }
215236 if ( event . type == "submit" ) {
216237 event . preventDefault ( ) ;
217238 }
218- if ( event . type == "click" ) {
219- event . preventDefault ( ) ;
220- if ( shouldPreventDefault !== `onclick` ) {
221- if ( target . tagName == "A" ) {
222- const href = target . getAttribute ( "href" ) ;
223- if (
224- href !== "" &&
225- href !== null &&
226- href !== undefined &&
227- realId != null
228- ) {
229- window . rpc . call ( "browser_open" , {
230- mounted_dom_id : parseInt ( realId ) ,
231- href,
232- } ) ;
233- }
234- }
235- }
236- }
237239 if ( realId == null ) {
238240 return ;
239241 }
0 commit comments