Search code examples
texthyperlinktabsrepeatervelo

How to make a text field link be opened in a new tab, in Velo?


In Wix, I have a text field in a repeater that is used for navigating to other dynamic pages. The link works, but there are two problems with that. First, I have to click two times, not double click, for functioning the link. Second, I want to make the text field act as a button link, I mean be able to right click on that and choose 'open in new tab'. How can I fix these problems in my code?

Here is the code

// Navigating to related dynaic page
import wixLocation from 'wix-location';
export function ndText_click(event) {
    $w("#repeater1").onItemReady(($item, itemData, index) => {
        $item("#nText").onClick((event) => {
            let postTypeValue = itemData.pType
            wixData.query("Collection1").eq("_id", itemData._id)
                .find()
                .then(results => {
                    let item = results.items[0];
                    let pIDValue = item.postId;                    
                    if (postTypeValue == "R") {
                        wixLocation.to('/re/' + postIDValue);
                    } else if (postTypeValue == "L") {
                        wixLocation.to('/lo/' + postIDValue);
                    } 
                })
        });
    })
}


Solution

  • I suggest trying to use a button instead of the text element. You can usually style the button so it looks the same as the text element you already have. Then instead of setting the onClick, try setting the button's link and target properties.